Pregunta

Estoy trabajando en analizar un archivo Maya DAE en OpenGl ES en el iPhone.

Puedo hacer que todos los objetos renderizan con éxito en iPhone, sin embargo, con un problema: los objetos están por todas partes y no están alineados entre sí en la escena.

Entiendo que esto se debe a que Maya usa matrices para describir dónde debe estar cada objeto en la escena. En el archivo DAE se ven así:

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

Mi pregunta es ¿alguien sabe cómo puedo traducir estos datos de matriz y luego aplicarlos a los modelos de mi escena?

Gracias de antemano por cualquier sugerencia !

¿Fue útil?

Solución

Aquí tienes la matriz:

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

La traducción es siempre

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

(donde m es tu matriz). Entonces es (9983.33, -8850.6, 135036) en este caso particular. La matriz de rotación es

1  0  0
0  0 -1
0  1  0

Lee esto Artículo sobre Wikipedia.

Puede obtener todos estos valores, o puede almacenar toda la matriz y luego usar GlmultMatrix antes de representar un objeto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top