Hallo,
Ich wollte die Rotation eines Joints um die Y-Achse mit dieser Funktion bekommen:
Code:
f32 GetRotY(ISkinnedMesh::SJoint* j, u32 keynr)
{
vector3df vec;
j->RotationKeys[keynr].rotation.toEuler(vec);
return vec.Y*57.2957;
}
(Die Multiplikation mit 57.2957 ist wegen der Umwandlung von Radians nach Degrees. (180/Pi=57.2957)).
Das Problem ist nur: Die Funktion gibt vollkommen unmögliche Werte zurück.
Zum Beispiel: In Keyframe 3 in meinem model gibt es eine Rotation des Joints
um die Y-Achse um 45 Grad, aber die Funktion liefert mir 164.821762 .
Warum? Gibt es eine Möglichkeit, den richtgen Winkel zu bekommen ???