Question

Je travaille sur l'analyse d'un fichier DAE Maya sur OpenGL ES sur l'iPhone.

Je suis en mesure d'obtenir tous les objets à rendre avec succès sur iPhone, mais avec un problème - les objets sont partout et non alignés les uns aux autres dans la scène

.

Je comprends que ce soit parce que Maya utilise pour décrire où matrices chaque objet doit être dans la scène. Dans le fichier DAE ils ressemblent à ceci:

<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">

Ma question est ne sait quiconque comment je peux traduire ces données de la matrice et appliquer ensuite aux modèles dans ma scène?

Merci d'avance pour vos suggestions!

Était-ce utile?

La solution

Ici, vous avez obtenu la matrice:

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

La traduction est toujours

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

(où m est votre matrice). Il est donc (9983,33, -8850,6, 135036) dans ce cas particulier. matrice de rotation est

1  0  0
0  0 -1
0  1  0

Lire cette article sur Wikipedia .

Vous pouvez chercher toutes ces valeurs, ou peut stocker toute la matrice, puis il suffit d'utiliser glMultMatrix avant de rendre un objet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top