0

Maya dae ファイルを iPhone の OpenGL ES に解析する作業を行っています。

すべてのオブジェクトを iPhone で正常にレンダリングすることができますが、1 つの問題があります。オブジェクトがいたるところにあり、シーン内で互いに位置合わせされていません。

これは、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 に答える