怎样每一帧获取模型mesh顶点的位置,就是我模型位置发生了改变,mesh顶点位置是不是也发生了变化。最后能附加上代码,我获取的mesh顶点位置一直不发生变化,不论怎样移动模型,顶点位置都是不变的,
https://blog.csdn.net/ldpxxx/article/details/7784859
你要转换到模型空间,这样顶点的位置才不会发生变化。因为对于模型本身坐标系来说,定点的位置都是固定不变的。
下面是获取顶点坐标作为的代码,你可能根据需要做空间变换:
Mesh mesh = mCurrentFilter.mesh;
int size = mesh.vertexCount;
text_vertices = "vertices: "+ size + "\n";
for(int i = 0; i<size; i++){
text_vertices += i + ": " + mesh.vertices[i][0]+","+mesh.vertices[i][1]+","+mesh.vertices[i][2]+";\n";
}
vertex是在模型空间坐标系下的坐标,用TransformPoint转换到世界坐标系即可,transform.TransformPoint(vertex)
Mesh _mesh = GetComponent().mesh;
foreach (var vertex in _mesh.vertices)
{
print($"{vertex}, {transform.TransformPoint(vertex)}");
}