Drehung eines Würfels in einem 3D-Raum in Einheit
Posted: 24 Dec 2024, 12:12
Ich drehe einen Würfel sowohl auf der vertikalen als auch auf der horizontalen Achse.
Dafür habe ich 4 Eingaben. Nach links/rechts und oben/unten drehen. Der Eingabebereich reicht von -180 bis 180 Grad auf jeder Achse.
Ich habe das bisher versucht:
Meine Frage/mein Problem ist: Wenn die x-Rotation mehr als 90 beträgt, dreht sich m_transForYaw nicht zur Seite, sondern um den Vorwärtsvektor.
Ich habe auch „Umdrehen“ ausprobiert.
Wissen Sie, wie man das Problem löst, dass es sich unabhängig von vorherigen Drehungen nur nach links/rechts dreht?
Aus meiner Sicht besteht das Problem darin, dass ich den Würfel zuvor gedreht habe und das ist das Problem. Z.B.
https://drive.google.com/file/d/1PZ4Itb ... sp=sharing

Dafür habe ich 4 Eingaben. Nach links/rechts und oben/unten drehen. Der Eingabebereich reicht von -180 bis 180 Grad auf jeder Achse.
Ich habe das bisher versucht:
Code: Select all
Vector3 targetEulerAngles = new Vector3(y, 0, 0); // Target rotation in Euler angles
m_transForYaw.eulerAngles = (targetEulerAngles);
targetEulerAngles = new Vector3(0, 0, -x);
m_tranfForPitch.eulerAngles= (targetEulerAngles);
m_transRotateAround.rotation = m_transForYaw.rotation * m_tranfForPitch.rotation;
Ich habe auch „Umdrehen“ ausprobiert.
Wissen Sie, wie man das Problem löst, dass es sich unabhängig von vorherigen Drehungen nur nach links/rechts dreht?
Aus meiner Sicht besteht das Problem darin, dass ich den Würfel zuvor gedreht habe und das ist das Problem. Z.B.
- Ich habe auf Vector.right gedreht -> normales Verhalten -> der Würfel dreht sich vorwärts/rückwärts
- Jetzt habe ich auf Vector.up drehen. -> der Würfel dreht sich jetzt nicht mehr nach links/rechts, sondern um die globale Vector.forward-Achse
https://drive.google.com/file/d/1PZ4Itb ... sp=sharing
