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.


Anmelden zum Antworten