Frage

Ich arbeite daran, eine Maya -DAE -Datei auf OpenGl ES auf dem iPhone zu analysieren.

Ich kann alle Objekte dazu bringen, erfolgreich auf dem iPhone zu rendern, aber mit einem Problem sind die Objekte überall und sind in der Szene nicht miteinander ausgerichtet.

Ich verstehe, dass dies daran liegt, dass Maya Matrixe verwendet, um zu beschreiben, wo sich jedes Objekt in der Szene befinden soll. In der DAE -Datei sehen sie so aus:

<node id="objects01-node" name="object01">
            <matrix>1 0 0 9983.33 0 0 -1 -8850.6 0 1 0 135036 0 0 0 1</matrix>
            <instance_geometry url="#object01-mesh">

Meine Frage ist, weiß jemand, wie ich diese Matrixdaten übersetzen und sie dann auf die Modelle in meiner Szene anwenden kann?

Vielen Dank im Voraus für alle Vorschläge!

War es hilfreich?

Lösung

Hier haben Sie die Matrix:

1  0  0  9983.33
0  0 -1 -8850.6
0  1  0  135036
0  0  0  1

Die Übersetzung ist immer

(M [12]/M [15], M [13]/M [15], M [14]/M [15])

(Wo m ist deine Matrix). Es ist also (9983,33, -8850.6, 135036) in diesem speziellen Fall. Rotationsmatrix ist

1  0  0
0  0 -1
0  1  0

Lesen Sie dies Artikel über Wikipedia.

Sie können all diese Werte abrufen oder die gesamte Matrix speichern und dann einfach Glmultmatrix verwenden, bevor Sie ein Objekt rendern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top