So erhalten Sie einen neuen Kamera-Richtungsvektor, wenn Sie einen beliebigen relativen Winkel bewegen
Frage
Ich umsetze eine Kamerasklasse und stecken Sie mit einigen Dingen stecken
Angenommen, die Kamera ist an Punkt (0,0,0), der eine bestimmte Richtung mit seinen entsprechenden Aufwärts- und Rechtsvektoren betrachtet.
Ich habe eine Joystick-Steuerung, mit der Sie weiterleiten oder die Orientierung ändern, indem Sie (nach rechts rechts) oder (Abschwächung) entsprechend den oben genannten Vektoren verschieben.
Wie kann ich mit den 3 Vektoren wissen, was der resultierende Richtungsvektor ist, wenn ich beispielsweise n Grad nach rechts bewegen möchte?
Lösung
Wenn Sie darüber sprechen, Ihre Kamera drehen, ist es hier, wie es fertig ist: Jede Rotation ist eine Matrix, die Koordinaten umwandelt, sodass Sie nur die Matrix Ihrer Rotation berechnen und dann auf Dir, auftragenund rechte Vektoren Ihrer Kamera, um neue zu erhalten, nachdem Sie die Rotation erledigt.
Hier ist ein wenig Lesung über Rotationsmatrizen (Lesen des Abschnitts von 3D-Rotationen): http://mathworld.wolfram.com/rotationmatrix.html