我是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;据我所知,在其他引擎中,vertexdata包含每个顶点(x,y,z)的3个值。考虑到一个平面可以由4个或6个顶点组成,这将导致整个顶点数组的12或18个顶点值。
UVData数组通常包含每个对应顶点的U和V值,这将导致比顶点数组产生的值更少。但是UVdata和vertexData数组的长度在这里是相同的。
我试着在away3D论坛上询问,但没有得到任何回应,而且我对3D的了解仍然太少,无法理解任何away3d源代码。
谁能解释一下为什么vertexData和UvData包含这么多值,以及它们代表什么?
发布于 2014-04-26 09:37:59
http://away3d.com/forum/viewthread/4854/
vertexData = num_vertices * (x,y,z,Nx,Ny,Nz,Tx,Ty,Tz,u,v,Su,Sv)
laneGeometry(10,10,1,1)
52 =4* 13
发布于 2013-03-20 21:43:06
创建网格时,使用新的PlaneGeometry(10,10,1,1),您应该在vertexData中获得12个项目,在UVData中获得8个项目。它们对应于:
vertexData: 4个顶点*3 (x,y,z值)。UVData: 4个顶点*2 (u,v值)。
https://stackoverflow.com/questions/14408732
复制相似问题