Ich habe zwei Informationen: ein 2D-Vektor, der die Geschwindigkeit relativ zu einem Gitter und einen Winkel (180 bis minus 180 Grad) darstellt den Blickwinkel des Spielers darstellt auch relativ zu diesem Raster, und ich bin dabei, herauszufinden, welche Tasten (W, A, S, D) der Spieler mit dieser Information drückt.Herauszufinden, welche Tasten ein Spieler basierend auf relative Geschwindigkeit und Winkel
Die Sache, die mir Probleme gibt, ist die Tatsache, dass sich der Spieler in Bezug auf den Betrachtungswinkel bewegt. Wenn also der Spieler 35 Grad relativ zu unserem Gitter sieht und vorwärts drückt (W), bewegt sich der Spieler um 35 Grad vorwärts, was der Geschwindigkeit eine Mischung aus vorwärts und rechts (D) verleiht. Zu beachten ist, dass die maximale Geschwindigkeit, die ein Spieler durch Drücken einer Taste erreicht, 250 Einheiten/s in dieser Richtung beträgt. Aber der Vektor wird in eine Berechnung mit dem Blickwinkel gebracht, der die endgültige Bewegungsgeschwindigkeit ergibt, und deshalb stelle ich diese Frage.
Ich möchte im Grunde den Einfluss des Winkels auf den Geschwindigkeitsvektor ausgleichen.
Dazu habe ich versucht, eine Rotation-Matrix-Lösung unter Verwendung der folgenden Formel:
x' = x*cos(angle) - y*sin(angle)
y' = x*sin(angle) + y*cos(angle)
aber das hat mir nicht gute Ergebnisse, es scheint, wie sie Art der gleiche wie der ursprüngliche Geschwindigkeit sind Vektor.
Weiß jemand, was ich hier falsch mache? Sollte ich diese Werte nicht einfach mit einer Rotationsmatrix berechnen können?
Sie kann nicht nur die Geschwindigkeit haben - Sie müssen auch die Beschleunigung (für Zustandsänderungen) –
@willywonkadailyblah Warten Sie, warum? Was meinst du mit staatlichen Veränderungen? – Tokfrans
Sorry Richtung ändert sich, also Schlüsselzustand ändert –