A. 如何用代码变换网格
动态创建一个网格:
MeshFilter meshFilter = GetComponent();
Mesh mesh = meshFilter.sharedMesh;
if (mesh == null){
meshFilter.mesh = new Mesh();
mesh = meshFilter.sharedMesh;
}
Vector3 p0 = new Vector3(0,0,0);
Vector3 p1 = new Vector3(1,0,0);
Vector3 p2 = new Vector3(0,1,0);
Vector3 p3 = new Vector3(0,0,1);
// clear mesh of current data
mesh.Clear();
// set vertices
mesh.vertices = new Vector3[]{p0,p1,p2,p3};
// set
mesh.triangles = new int[]{
0,1,2,
0,2,3,
2,1,3,
0,3,1
};
mesh.RecalculateNormals();
mesh.RecalculateBounds();
mesh.Optimize();
修改现有的顶点 (对于脸也类似):
// mesh.vertices returns a
Vector3[] vert_ = mesh.vertices;
vert_[0] = new Vector3(10,11,12);
vert_[1] = new Vector3(13,14,15);
// reassign new vertices to mesh
mesh.vertices = vert_;
mesh.RecalculateNormals();
mesh.RecalculateBounds();
mesh.Optimize();
当你重新计算法线和界限的时候,这些调用变得复杂。如果转变的时候网格不会与其他网格互动, 你可以推迟RecalculateBounds()直到转变结束。相似的,如果你预计只有很小的每帧的转变,可以以每隔一帧或者每300毫秒限制ecalculateNormals()。
B. RizomUV 导入模型错误
你的模型肯定有拓扑后留下的错误 导入maya等三维软件里重新处理一下,错误的面删除,多余的边角删除。我这个就是因为模型里有一些未连接的小面,需要删除,就正常了
C. ansys workbench中fluent划分网格出现如下错误,说明了什么
ansys workbench的文件名有可能包含非英文字母,PS:空格也不可以,模型中几何体命名也不能出现中文。