Wie würde man eine FPS-Kamera implementieren?

Ich arbeite gerade aus Spaß an einer FPS-Programmierung in OpenGL (genauer gesagt JOGL) und wollte wissen, wie man eine FPS-ähnliche Kamera am besten erstellen kann.

Im Moment habe ich im Grunde genommen einen Vektor für die Richtung, in die der Spieler blickt, der zur aktuellen Spielerposition hinzugefügt wird, wenn Sie die Taste "w" oder "forward" drücken. Das Negativ dieses Vektors wird natürlich für die "s" - oder Rückwärts-Taste verwendet. Für "a", links und "d", rechts verwende ich die Normalen des Richtungsvektors. (Mir ist bewusst, dass dies den Spieler fliegen lassen würde, aber das ist im Moment kein Problem.)

Beim Bewegen der Maus wird der Richtungsvektor mithilfe von Trigonometrie und Matrizen gedreht. Alle Vektoren sind natürlich zur einfachen Geschwindigkeitssteuerung normalisiert.

Ist das der übliche und / oder gute Weg oder gibt es einen einfacheren / besseren Weg?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage