Willkommen zurück, meine Spieleentwickler.
In diesem Video werden wir tatsächlich die von uns erstellten Eingaben
verwenden und wir werden sehen, wie wichtig Variablen sind.
Wenn wir jetzt unseren Gewinn erzielen,
werden Sie feststellen, dass wir nicht einfach da stehen.
Sie haben nichts in der Konsole.
Wenn wir die WASD-Taste drücken,
können wir sehen, dass sich unser Spieler nach links, rechts, links, oben und unten bewegt
.
Und nicht nur das, wenn ich die Bewegungsgeschwindigkeit erhöhe,
gehen wir los, Wir sind viel schneller.
Also bewegen wir den Spieler nicht nur mit den Tasten,
wir können auch steuern, wie schnell er sich bewegt hat.
Also gut, das heißt,
verschwenden wir keine Zeit mehr und lasst uns anfangen.
Okay, jetzt wo wir die Eingaben bereit haben, sehen wir,
wie sie funktionieren.
Es ist Zeit, den Spieler tatsächlich zu bewegen.
Wie wir versprochen haben.
Lasst uns das Skript gleich hier öffnen.
Und lasst uns fortfahren und dieses Debug-Punkt-Protokoll entfernen.
Die waren auch einfach hier.
Lassen Sie uns glauben, dass dies tatsächlich funktioniert.
Okay, das erste, was wir tun müssen, ist, dass wir
auf die transformierte Position des Spielers zugreifen müssen.
Also klicken wir weiter und klicken auf Transformieren.
Und Sie können genau hier sehen, wie hilfreich Visual Studio bereits ist.
Es sagt uns, was die Transformation ist.
Die Transformation, die gerade schreiben wird, ist also der Transport, der an dieses Spielobjekt gebunden ist.
Welches Spielobjekt?
Es ist das Spielobjekt, auf dem das Player-Controller-Skript steht.
Und wenn wir hier zurückblicken,
klicken wir auf den Layer.
Jederzeit klicken wir auf den Spieler.
Wir können sehen, dass der Spieler-Controller an den Spieler angeschlossen ist und
die Transformation, die sich auf dem GameObject befindet, nicht als diese Spieler spielt.
Wir greifen also auf diese spezifische Transformation zu.
Also hier drin
schreiben wir wieder Transformation, drücken Tab,
um die Wortpunktposition abzuschließen.
Sie können sehen, dass dies auf die Position, die Skalierung, die Drehung und alles zugreifen kann
, was in der Transformation verfügbar ist.
Und wir schreiben Position.
Nun wird dies einem neuen Vektor drei entsprechen.
Und es wird,
sagen wir vorerst nur 0,1 f.
Und wir können auch Punkt 1 f schreiben. Dies bedeutet 0,
und wir halten die Z-Achse an derselben Stelle. Das werden wir speichern.
Nun denken Sie vielleicht darüber nach, warum Vector3
haben wir nicht einfach gesagt, dass wir das nicht ändern wollen?
Nun, wenn wir den Mauszeiger über die Position bewegen,
können Sie sehen, dass die Weltraumposition der Transformation als Vektor drei,
auch die Dokumentationen durchgehen und sehen kann, dass es
sich tatsächlich um die transformierte Position eines jeden Objekts handelt,
unabhängig davon, ob wir 3D verwenden,
2D 1D, Das ist unmöglich,
aber Sie erhalten den Bildvektor drei Position.
Wir greifen immer auf die Vektor-C-Position zu,
aber wir behalten sie als 0 f.
Jetzt ist der Umfang nicht vollständig,
aber ich werde ihn verwenden, nur damit wir lernen, wenn wir Fehler machen,
werde ich das speichern.
Ich gehe hier wieder rein.
Und lasst uns einfach ein paar echte Werte bekommen, damit wir es wissen,
also minus fünf und sagen wir, das ist minus1 wird das retten.
Wir werden unser Spiel laufen und schauen wir uns an. Da sind wir los.
Also 0.10.1.
Was scheint das Problem zu sein?
Nennen wir es nicht jeden einzelnen Frame?
Nun, das Problem hier ist, dass wir diesen Wert einfach hier zuweisen,
den neuen Vektor 30.10.10 f zur Position.
Bei jedem einzelnen Frame erhöhen wir nicht die Transformationsposition.
Wie werden wir anfangen zu wachsen?
Lass mich einfach den Dramatiker hier aufhalten.
Wir werden schreiben, dass wir die Transformationspunkt-Position des Spielobjekts einnehmen
und dann den 0.10.1 Vektor 3, jedes einzelne Frame, hinzufügen.
Also werden wir das retten.
Und lasst uns zurückgehen und uns unser Spiel ansehen,
wie es gerade aussieht.
Wir führen das Spiel aus und los geht's. Sehr Ziele.
Der Spieler hat gerade das Gebäude verlassen,
wie Sie sehen können, wie Sie jetzt sehen können, was hier passiert.
Wir nehmen die Position transform.py ein.
Wir weisen in der bereits verfügbaren Transformation zu,
aber Position plus Vektor 3,
und das machen wir jeden einzelnen Frame.
Nehmen wir an, wir fangen bei 0, 0 an.
Wir nehmen hier 000,
wir fügen diesem Vektor hinzu,
den nächsten Frame haben wir 0.21.
Wir nehmen es, wir fügen hinzu, es wird 0,2.
Wir nehmen es an, wir fügen hinzu, es wird 0,3.
Also erhöhen wir es mit jedem einzelnen Frame.
Wie Sie sehen können, gibt es hier redundanten Code.
Redundant bedeutet, dass wir es mehrmals verwenden.
Um dies zu vermeiden, können wir dies einfach hier entfernen
und stattdessen ein Plus hinter den Gleichen hinzufügen.
Und das ist genau die gleiche Syntax wie zuvor.
Wenn wir das also noch einmal schreiben,
lassen Sie mich das einfach duplizieren.
Ich füge einfach zwei Schrägstriche hinzu.
Dies wird zu einem Kommentar.
Und wie gesagt,
ein Common den Code nicht aus,
und wir werden diesen einfach entfernen.
Also als kleine Erinnerung daran, was dieses Plus gleich bedeutet.
Also speichern wir das.
Wir gehen zurück in unser Spiel und lassen uns das einfach etwas kleiner machen, also fügen wir eine
weitere 0 hinzu und speichern das hier
wieder in unserem Spiel.
Wir führen den Code aus, das Spiel.
Und los geht's,
wir können ihn langsam wegschweben sehen und wieder großartig.
Jetzt haben wir unseren Spieler in Bewegung.
Aber wir wollen nicht, dass diese Werte nur willkürlich sind.
Wir wollen keine 0,1 oder 0,01 haben.
Wir wollen tatsächlich, dass der Input, den wir hier bekommen haben, den Spieler bewegt.
Das wird also deine Herausforderung sein.
Deine Herausforderung besteht darin, die Spielerposition mit dem Input zu bewegen.
Sie greifen also auf die Position der Transformation des Spielers zu.
Sie werden die Position zu einem neuen Vektor machen 3.
Und Sie werden die Bewegung input.txt und Punkt y verwenden
, da das X und Y dieses neuen Vektors
3 auch die Z-Achse bei 0 F halten und einige nur ein bisschen zusätzliche Hilfe.
Ich empfehle Ihnen, die Unity-Dokumentation durchzugehen und sich das Beispiel anzusehen.
Sie waren so nett bei Unity Company irgendwo
, um uns ein Beispiel dafür zu geben, wonach wir suchen.
Also pausiere das Video jetzt und mach die Herausforderung.
Okay, willkommen zurück.
Wenn wir also genau hier nach unten scrollen,
können Sie sehen, dass wir die horizontale Eingabe
erhalten, die vertikale Eingabe
und dann alle in die transformierte Position legen.
Dies ist das genaue Beispiel, das wir brauchen und unseren Gewinn.
Wenn wir also wieder hier reingehen, schreibe ich anstelle von 0.01
den Bewegungseingabepunkt x. Ich schreibe den Bewegungseingabepunkt y.
Und ich werde all das speichern.
Jetzt zurück in unserem Spiel
führen wir das Spiel aus und jetzt bewegt sich unser Spieler nicht.
Wenn wir ihn nach rechts bewegen wollen,
hatten wir den Dickey, den er nach rechts, links bewegt
, und er ist verschwunden.
Wie Sie sehen können, ist unser Spieler extrem, extrem schnell.
Warum ist das so? Nun, es liegt daran, dass Updates in jedem einzelnen Frame aufgerufen werden.
Wenn wir also noch einmal versuchen zu spielen,
lass mich dir zeigen, was ich meine.
Wenn wir hier zu den Statistiken nachschauen,
können wir sehen, wie viele Frames pro Sekunde wir haben.
Du weißt also, was Frames pro Sekunde sind?
Wenn du jemals ein Spiel gespielt hast und du jetzt sehen kannst
sind es fast tausend Bilder pro Sekunde.
Wir nennen das tausendmal, 1000 Mal.
Wir fügen einen hinzu,
also fügen wir jedes Mal oder jede Sekunde eine 1000 hinzu, wenn Sie möchten.
Wie werden wir das kontrollieren?
Nun, es gibt einen sehr einfachen Weg,
und das heißt, dies mit der Zeit.Deltatime zu multiplizieren.
Und was passiert gerade,
time.Deltatime, wenn wir den Mauszeiger darüber bewegen,
es das Intervall und die Sekunden vom letzten bis zum aktuellen Bild.
Was das tut, ist, dass es zwischen jedem Frame die Zeit braucht,
wir multiplizieren es mit diesem und werden jetzt Bildrate und abhängig.
Lass mich dir zeigen, was das bedeutet.
Dies bedeutet, dass beim Ausführen des Spiels die Zeit,
die vom ersten bis zum zweiten Bild benötigt wird, in die Bewegung aufgenommen wird.
Und jetzt, wenn wir die D-Taste drücken, gehen wir los.
Wir sind viel langsamer.
Und wenn wir das W hätten, gehen wir nach oben, SVMs runter, a,
wir bewegen uns nach links, bewegen uns nach rechts
und so weiter und so weiter.
Wie cool ist das?
Was wir im anderen Plural haben,
wen wir extrem niedrig sind.
Dies ist keine Möglichkeit, ein Spiel zu spielen,
besonders wenn uns gruselige Feinde folgen.
Deshalb hatten wir diese Bewegungsgeschwindigkeit ständig variabel.
Dies wird es uns ermöglichen, unsere Geschwindigkeit zu kontrollieren.
Jetzt werden wir dies auch mit der Bewegungsgeschwindigkeit multiplizieren.
Das werden wir speichern.
In unserem Gewinn können wir also sehen,
dass die Bewegungsgeschwindigkeit 20 beträgt.
Stellen wir es auf fünf ein.
Spar dir das auf, führe das Spiel aus.
Und jetzt können wir nach oben,
unten, links, rechts gehen, wie wir wollen.
Wie cool ist, dass wir endlich einen Charakter haben,
einen Spieler, der sich in einer Welt bewegt, die wir mit einfachem Code erstellt haben.
Lasst uns diese 50 machen.
Schauen wir es uns an. Nun, da sind wir los.
Wir können sogar kontrollieren, wie schnell es geht.
Ich meine, ernsthaft, wie aufgeregt bist du?
Vielleicht bin's nur ich.
Lassen Sie es uns um fünf Uhr behalten. Ich glaube fünf.
Eigentlich langsam keine Fasern. Dann lasst uns das machen.
Ja, da sind wir los.
10 sieht also wirklich gut aus.
Und wenn das erledigt ist, hoffe ich,
dass es Ihnen gefällt.
Bevor ich das nächste Video vorstelle,
wirst du feststellen, dass wir tatsächlich immer noch durch Wände gehen und weggehen können
, was nicht gut ist.
Deshalb werden wir im nächsten Video
Physik auf unseren Player anwenden und ihn dazu
bringen, mit verschiedenen Objekten in unserer Welt zu interagieren.
Mit dem gesagt, vier,
stelle ich sicher, dass ich deine Änderungen festnehme.
Ich werde nicht mit jedem einzelnen Video anfangen, weil
es etwas ist, das man automatisch werden muss.
Und jedes Mal, wenn Sie etwas Wichtiges in Ihrem Spiel machen,
stellen Sie sicher, dass Sie alle Arbeiten inszenieren
, alle Ihre Arbeit verpflichten
und wir sehen uns im nächsten Video.