1

私は 3D ランドに不慣れで、いくつかのエンジンを試してみました。シンプルさのために、私はaway3Dに落ち着きました。

平面を作成してテクスチャを貼り付けて作成していますが、リアルタイムで UV データを変更してテクスチャをアニメーション化できるようにしたいと考えています。

var plane:Mesh = new Mesh(new PlaneGeometry(10, 10, 1, 1), textMat);

これらの行はどちらも 52 を返します。

CompactSubGeometry(plane.geometry.subGeometries[0]).UVData.length;
plane.subMeshes[0].vertexData.length;

私が他のエンジンで理解している限り、頂点データには各頂点 (x、y、z) に対して 3 つの値が含まれています。4 つまたは 6 つの頂点から平面を構築できることを考慮すると、頂点配列全体で 12 または 18 の頂点値になります。

通常、UVData 配列には、対応する各頂点の U 値と V 値が含まれるため、頂点配列よりも値が少なくなります。ただし、ここでは UVdata と vertexData 配列の長さは同じです。

away3D フォーラムで質問してみましたが、応答がありませんでした。私の 3D に関する知識は、away3d のソースコードを理解するにはまだ小さすぎます。

vertexData と UvData に非常に多くの値が含まれている理由と、それらが何を表しているかを説明できる人はいますか?

4

2 に答える 2

0

new PlaneGeometry(10, 10, 1, 1) を使用してメッシュを作成する場合、頂点データで 12 項目、UVData で 8 項目を取得する必要があります。それらは以下に対応します。

vertexData: 4 つの頂点 * 3 (x、y、z 値)。UVData: 4 つの頂点 * 2 (u、v 値)。

于 2013-03-20T13:43:05.693 に答える