我有一个选定的网格(创造性地称为“选定”),我想在其本地空间中使用它,所以我使用以下内容:
tmesh = NMesh.GetRawFromObject(selected.name)
tmesh.transform(selected.matrix)
然后我对其顶点进行大量计算并按索引删除它们,效果很好。
当我稍后尝试从 vert.co 对象列表中添加它们时,效果不太好。它们最终相对于彼此正确定位,但与原始顶点相去甚远。
for v in tmesh.verts: toAdd.append(v.co) mesh = selected.getData(mesh=1) mesh.verts.extend(toAdd)
我意识到这是因为物体在不同的空间。所以我认为我需要做的是将新顶点转换回旧空间......但我对这里到底发生了什么的理解充其量是模糊的。如何“撤消” tmesh.transform(selected.matrix) 命令?
可以在这里找到对我正在做的事情的更详尽的解释:http: //www.kellbot.com/2010/11/lego-plans-now-with-better-rendering/