我是 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;
据我在其他引擎中的理解,顶点数据包含每个顶点的 3 个值(x,y,z)。考虑到一个平面可以由 4 个或 6 个顶点构建,这将导致整个顶点数组有 12 个或 18 个顶点值。
UVData 数组通常包含每个对应顶点的 U 和 V 值,这将导致比顶点数组少的值。但是 UVdata 和 vertexData 数组在这里具有相同的长度。
我尝试在 away3D 论坛上提问,但没有得到回应,而且我对 3D 的了解仍然太少,无法理解任何 away3d 源代码。
谁能解释为什么 vertexData 和 UvData 包含这么多值,以及它们代表什么?