Collada Rotation implementieren
-
Bin gerade debei einem Converter für unsere Game Engine zu schreiben.
Das render funktioniert soweit, jedoch hänge ich derzeit etwas bei der Rotation...Hier ein kleines Beispiel das die Translation - Rotation eines Objectes beschreibt:
<node id="Head"> <translate sid="location">-0.0473384 0.485328 -4.01547</translate> <rotate sid="rotationZ">0 0 1 178.842</rotate> <rotate sid="rotationY">0 1 0 0</rotate> <rotate sid="rotationX">1 0 0 90</rotate> <scale sid="scale">1 1.43789 1</scale> <instance_geometry url="#Head-mesh"> </node>
Die Frage ist wie ich das ganze zu einer "Welt-Matrix" zusammenfüge...
Ich dachte da an Quaternions wegen->(x,y,z,w), jedoch komme ich mit der xnamath lib nicht besonders weit?!?MFG Zwingling
-
Sieht so aus, als seien das Simple Rotationen um die X&Z Achse
(Ich lese 0 0 1 178.842 als drehe um 178.842° um die Z Achse - heißt ja auch rotationZ)
Mit Wikipedia solltest du es jetzt schaffen, daraus eine Rotationsmatrix zu machen und dann die beiden RotMatrizen (X&Z) zusammenzumultiplizieren
Gruss, J.