赞
踩
实际上无论几边形,都是三角化,利用三角网格mesh画的。由于项目中需要用到,记录下来
直接调用下列函数即可,顶点数组可以自己填写。其中添加此脚本的物体必须有MeshRenderer和MeshFilter两个组件
- public void DoCreatPloygonMesh(Vector3[] s_Vertives)
- {
- //新申请一个Mesh网格
- Mesh tMesh = new Mesh();
-
- //存储所有的顶点
- Vector3[] tVertices = s_Vertives;
-
- //存储画所有三角形的点排序
- List<int> tTriangles = new List<int>();
-
- //根据所有顶点填充点排序
- for (int i = 0; i < tVertices.Length - 1; i++)
- {
- tTriangles.Add(i);
- tTriangles.Add(i + 1);
- tTriangles.Add(tVertices.Length - i - 1);
- }
-
- //赋值多边形顶点
- tMesh.vertices = tVertices;
-
- //赋值三角形点排序
- tMesh.triangles = tTriangles.ToArray();
-
- //重新设置UV,法线
- tMesh.RecalculateBounds();
- tMesh.RecalculateNormals();
-
- //将绘制好的Mesh赋值
- GetComponent<MeshFilter>().mesh = tMesh;
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。