Hey, willkommen zurück, Meine Lieblingsspielentwickler in diesem Video,
unsere Waffe ist kein statisches Objekt mehr.
Wenn man genau hinsieht,
sieht man, dass sich
die Waffe nach unten bewegt.
Wenn wir nach oben schauen,
rastet die Waffe ein.
Offensichtlich gibt es immer noch ein paar Dinge, die repariert werden müssen
, weil es ziemlich unangenehm ist, die Waffe so zu halten,
aber darüber keine Sorge.
Dies ist der erste Schritt, um unsere Waffe richtig zu benennen.
Verschwenden wir also keine Zeit mehr und lasst uns anfangen.
Es gibt eine Menge Mathematik darin.
Also zieh deine Denkkappen an.
Jetzt, da wir uns bewegen und auf Dinge stoßen,
ist es an der Zeit, unsere Waffe zu zielen.
Um dies zu tun, wollen wir die Waffe um eine bestimmte Position drehen.
Wir wollen die exakte Waffe nicht wirklich drehen, denn wenn wir hier reinschauen,
wenn wir zur Szene gehen,
können Sie jetzt sehen,
wenn wir versuchen, die Waffe so zu drehen, wie sie ist,
sieht sie nicht so gut aus.
Wir brauchen einen Punkt, von dem sich die Waffe dreht.
Was wir also tun werden, ist, dass wir mit der rechten Maustaste auf den Dome-Spieler klicken.
Wir erstellen ein leeres Spielobjekt.
Wir nennen es den Waffenarm.
Und wir werden es bis zu einem bestimmten Punkt verschieben.
Und das ist der Punkt, an dem sich die Waffe dreht oder von dem sich die Waffe dreht.
Also lege ich es fast um die Hand oder den Arm des Spielers.
Und ich werde die Schrotflinte machen,
ein Kind dieser Waffen sind.
Wenn wir jetzt den Waffenarm drehen,
werden Sie feststellen, dass die Schrotflinte fast hier um den Arm herum bleibt und es viel natürlicher aussieht,
wenn wir die Schrotflinte drehen oder die Waffen sind.
Jetzt ist es Zeit für ein bisschen Kälte.
Aber bevor wir das tun,
wie werden wir diesen Arm eigentlich drehen?
Es wird davon abhängen, wo unser Mund ist.
Sagen wir also, wir sind hier oben.
Wir wollen, dass die Schusspistole auf die Maus zeigt.
Wie werden wir das berechnen?
Nun, wir brauchen ein paar Punkte und lassen Sie es mich mit Mathe erklären, ja Mathe.
Also lasst uns anfangen.
Als erstes brauchen wir die Spielerposition auf dem Bildschirm.
Nun, ich benutze den Begriff Spielerposition,
aber es ist eigentlich der Punkt, an dem wir die Schrotflinte drehen.
Aber jetzt lasst es uns einfach einfach halten.
Nennen Sie dies die Spielerposition
und wir haben die Mausposition auf dem Bildschirm.
Was wir also wollen, ist, dass wir den Vektor auf diese beiden Punkte beziehen wollen.
Dies ist die Richtung, die weg ist, wird zeigen.
Aber wie werden wir eigentlich den Winkel berechnen, in den die Waffe zeigen soll?
Nun, wir kennen die Ausstellung und wir kennen die y-Position.
Nun, ich meinte X und Y.
Was wir also tun können, ist, dass wir etwas verwenden können, das als Arc Tangente bezeichnet wird.
Und das ist etwas für uns in Mathematik verfügbar.
F von Unit ist Bibliothek.
Damit können wir also den Arctan berechnen.
Und wenn Sie nicht wissen, was Arctan ist oder Sie nicht einmal wissen, was Dan Tangente ist
, glaube ich, dass es die Vorderseite ist,
die das Y geteilt durch V x ist.
Und wenn wir das tun,
bekommen wir eine bestimmte Zahl,
welches ist die Tangente.
Um den Winkel zu erhalten,
verwenden wir etwas, das als Bogentangente bezeichnet wird,
was eine Art Umkehrung ist.
Aber alles, was Sie wissen müssen, ist, dass wir den Höhenunterschied bekommen,
wir bekommen den Unterschied in der Entfernung.
Und damit berechnen wir den Winkel, auf den Argon hinweisen sollte.
Dies ist grundlegende elementare Mathematik.
Ich bin mir nicht sicher, ob du damit vertraut bist.
Wenn du tiefer darauf eintauchen willst, sei mein Gast,
ich glaube, das wird genug Erklärung sein.
Übersetzen wir diese mathematischen Gleichungen also in mathematische Codes.
Also gehe ich zurück und unser Skript hier im Player-Controller.
Und das erste, was wir brauchen, ist die beiden Referenzen für die Kamera und für die Waffen.
Also erstelle ich zunächst ein serialisiertes Feld,
das eine Transformation sein wird.
Und es wird darstellen, dass die Waffen großartig sind.
Die zweite Variable, die wir als private Kamera erstellen werden,
und sie wird die Hauptkamera sein.
Und das Coole daran ist, dass wir sofort nach Stuart gehen und sagen können
, dass die Hauptkamera der Kamera gleich ist.
Punkt Haupt.
Und mit dieser Kamera, dieser Hauptkamera,
können wir sofort einen Verweis auf die Hauptkamera bekommen, die wir haben.
Und hier, großartig.
Jetzt müssen wir wissen, wo unser Mund auf der Welt ist.
Also werden wir nach unten und hier scrollen,
und ich werde diese Kommentare nur entfernen, weil wir sie nicht mehr brauchen.
Wenn Sie der Meinung sind, dass Sie sie brauchen,
behalten Sie sie als Erinnerung daran, wie wir unseren Code geändert und durchlaufen haben.
Jetzt bekomme ich die Position der Maus.
Ich benutze einen Vektor drei.
Und es wird die Mausposition genannt.
Und es wird gleich der Position der Eingabe-Punkt-Maus sein.
Und Sie können jetzt sehen, dass uns die Visual Studio Community sofort
die aktuelle Mausposition in Pixelkoordinaten gibt.
So toll, das brauchen wir.
Und offensichtlich weiß ich dieses Zeug schon.
Wenn Sie dies recherchieren möchten,
müssten Sie zu Google gehen,
um die meiste Position zu erreichen.
Sie haben die Dokumentationen für Einheit bekommen.
Sie hätten diese Eingabe-Punkt-Mausposition gefunden.
Du hättest es benutzt.
Dies ist nur eine Abkürzung.
Lasst uns weitermachen. Das nächste, was wir brauchen, ist der Bildschirmpunkt.
Also Bildschirmpunkt, und es wird gleich der Hauptkamera, der
Weltkamera, von Welt zu Bildschirm sein.
Und Sie können die Definition sehen und hier ist
die Transformationsposition vom Weltraum und zum Bildschirmraum.
Da sind wir los. Das brauchen wir.
Transformiere lokale Skala, ich meine lokale Position.
Und das wird uns die lokale Position der Transformation geben,
die gerade der Spieler ist.
Und jetzt ist es an der Zeit, den Winkel zu berechnen.
Lasst uns zuerst das alles aufheben.
Lass uns weitermachen und den Arm für den Spieler zuweisen.
Also ziehe ich jetzt den Waffenarm.
Das werden wir retten.
Und jetzt besteht der nächste Schritt darin, den Winkel tatsächlich zu berechnen.
Also zeige ich dir das zuerst noch einmal,
damit du zurückgehen und es dir ansehen kannst, wenn nötig.
Und dann stelle ich dir eine Herausforderung aus.
Und Ihre Herausforderung wird darin bestehen, den Winkel zu berechnen.
Das erste, was Sie tun, ist, dass Sie
die x-Position der Maus von der Bildschirmpunktposition des X.
Offensichtlich müssen Sie dasselbe für das y tun.
Und dann müssen Sie den mathematischen F-Punkt berechnen
Arkustangens, um dies in der Unity-Dokumentation zu finden.
Machen Sie weiter, pausieren Sie das Video sofort.
Geh und gib dein Bestes.
Probiere es aus.
Du wirst nichts verlieren, indem du dein Bestes gibst.
Pausiere das Video jetzt und mach die Herausforderung.
Hey, willkommen zurück.
Wie Sie sehen können,
habe ich gerade Mathe, Arc Tangente
in Unity nachgeschlagen.
Jetzt bin ich genau hier.
Was mache ich? Nun, ich muss sehen, wie das funktioniert.
Was macht? Es gibt einen Schwimmer zurück.
So verwende ich matlab.org Tange.
Okay, großartig.
Dann lasst uns wieder hier rein gehen.
Das erste, was wir tun müssen, ist, dass wir den Unterschied berechnen müssen.
Ich setze beide in einen Vektor zwei.
Also verwende ich einen Vektor, um
das als Offset zu bezeichnen.
Es ist also der Offset zwischen den beiden Punkten.
Es wird gleich einem neuen Vektor zwei sein.
Und hier drin bekomme ich zuerst die Mausposition Punkt x und subtrahiere davon,
der Bildschirmpunkt lenkt.
Und ich werde das Gleiche über das Warum machen.
Jetzt werde ich einen Float erstellen, denn wie wir diese Methode gesehen haben,
die Methode dot arctan einen Float zurück,
wird gleich dem mathematischen F-Punkt-Bogen-Tan oder nein sein, Eta.
Es heißt „Tan Two“.
Und ich verwende den Offset-Punkt y dividiert durch den Offset-DRX.
Großartig, also werde ich das speichern.
Aber wann immer wir den Waffen die tatsächliche Rotation zuweisen wollen,
können wir dies nicht einfach mit einem Schwimmer tun.
Was wir tun müssen, ist, dass wir eine zusätzliche Methode verwenden müssen ,
bei der es sich um zwei Grad handelt.
Und Sie können sehen, dass dies Bogenmaß in Grad konstant umwandelt.
Also müssen wir das tun.
Und das letzte, was wir tun müssen, ist, dass wir bei Punktrotation auf die Waffen zugreifen müssen
und uns jetzt auf eine etwas gruselige Welt vorbereiten müssen.
Wir werden Quaternionen benutzen.
Also quaternion dot Bueller.
Und wir setzen es auf der x-Achse auf 00 ein.
Wir drehen uns nicht auf der Y-Achse, wir drehen uns nicht.
Wir drehen uns nur um die Z-Achse unter Verwendung des Winkels.
Nun, bevor du weglaufst,
was ist Turnitin Dot Hulu?
Wenn Sie sich das frühere hier anschauen,
können Sie sehen, dass es eine Rotation zurückgibt, die Z Grad um die Z-Achse,