1.MeshFilter MeshRenderer Mesh。 在unity中渲染一个Mesh需要包含MeshFilter、MeshRenderer两个组件以及一个Mesh。 Mesh:网格 作用:Mesh是指模型的网格,建模就是建网格。细看Mesh,可以知道Mesh的主要属性内容包括顶点坐标vertices,法线normals,纹理坐标uv、颜色colors,三角形绘制序列triangles等其他有用属性和功能。因此建...
verts.Add(newVector3(110,0,111));int[] indices =newint[] {0,1,2}; mesh.Clear();//新写法mesh.SetVertices(verts); mesh.SetIndices(indices, MeshTopology.Triangles,0);//旧写法mesh.vertices = verts.ToArray(); mesh.triangles = indices; 从上面的代码也可以看出,mesh.SetVertices支持的是List...
if (CreateLineMesh.FirstCreate) { p01 = p0 + AVerticle * offset;//根据宽度计算周围平移顶点 p02 = p0 - AVerticle * offset; CreateLineMesh.FirstCreate = false; } else { p01 = verticles[verticles.Count - 3];//同一个的Mesh的情况下,起点要取上一次的中间两端点 if (LastIsSpecialAngle) ...
Step5:遍历所有的顶点,看哪些顶点在切割面的上部,哪些顶点在切割面的下步,将他们分开放置到PositiveMesh与NegativeMesh中。 for(int i = 0; i < ogVertices.Count; ++i) { if (slice.GetDistanceToPoint(ogVertices[i]) >= 0) PositiveMesh.AddVertex(ogVertices, ogNormals, ogUvs, i); else NegativeM...
24 indexList.Add(i); 25 } 26 Mesh mesh = new Mesh(); 27 mesh.SetVertices(vertexList); 28 mesh.SetIndices(indexList.ToArray(), MeshTopology.Lines, 0); 29 return mesh; 30 } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
public class ExampleClass :MonoBehaviour{ void Update() {Meshmesh = GetComponent<MeshFilter>().mesh;Vector3[] vertices = mesh.vertices; int i = 0; while (i < vertices.Length) { vertices[i] +=Vector3.up*Time.deltaTime; i++; } mesh.vertices = vertices; mesh.RecalculateBounds(); } }...
Mesh的重要属性 (1) vertices 网格顶点数组; (2) normals 网格的法线数组; (3) tangents 网格的切线数组; (4) uv 网格的基础纹理坐标; (5) uv2 网格设定的第二个纹理坐标; (6) bounds 网格的包围盒; (7) Colors 网格的顶点颜色数组; (8) triangles 包含所有三角形的顶点索引数组; ...
PositiveMesh.Clear(); NegativeMesh.Clear(); addedPairs.Clear(); Step5:遍历所有的顶点,看哪些顶点在切割面的上部,哪些顶点在切割面的下步,将他们分开放置到PositiveMesh与NegativeMesh中。 for(int i = 0; i < ogVertices.Count; ++i) { if (slice.GetDistanceToPoint(ogVertices[i]) >= 0) ...
circle_triangles.Add(i); //平时都是0,i,i+1的,但最后一个0,360,1需要特殊处理 if (i + 1 < segment + 1) { circle_triangles.Add(i + 1); } else { circle_triangles.Add(1); } } mesh.vertices = circle_mesh_vertices.ToArray(); ...
PositiveMesh.Clear(); NegativeMesh.Clear(); addedPairs.Clear(); Step5:遍历所有的顶点,看哪些顶点在切割面的上部,哪些顶点在切割面的下步,将他们分开放置到PositiveMesh与NegativeMesh中。 for(int i = 0; i < ogVertices.Count; ++i) { if (slice.GetDistanceToPoint(ogVertices[i]) >= 0) ...