0

我正在将 Maya dae 文件解析到 iPhone 上的 OpenGL ES 上。

我能够让所有对象在 iPhone 上成功渲染,但是有一个问题 - 对象到处都是,并且在场景中没有相互对齐。

我知道这是因为 Maya 使用矩阵来描述每个对象在场景中的位置。在 dae 文件中,它们看起来像这样:

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

我的问题是有谁知道我如何翻译这个矩阵数据,然后将其应用于我场景中的模型?

在此先感谢您的任何建议 !

4

1 回答 1

1

这里有矩阵:

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

翻译总是

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

(其中 m 是您的矩阵)。在这种特殊情况下,它是 (9983.33, -8850.6, 135036)。旋转矩阵是

1  0  0
0  0 -1
0  1  0

在维基百科上阅读这篇文章

您可以获取所有这些值,也可以存储整个矩阵,然后在渲染对象之前使用 glMultMatrix。

于 2012-02-18T10:00:33.343 回答