0
我有一个选择的网格(创造性地称为“选择”),我想在本地的空间内工作,所以我使用以下命令:如何在Blender中通过矩阵逆转变换?
tmesh = NMesh.GetRawFromObject(selected.name)
tmesh.transform(selected.matrix)
我那么做了verticies一堆计算并删除它们通过索引,这很好。
当我尝试从vert.co对象列表中稍后添加它们时,什么都不起作用。他们最终被正确地定位在彼此之间,但不在原始顶点附近。
for v in tmesh.verts: toAdd.append(v.co) mesh = selected.getData(mesh=1) mesh.verts.extend(toAdd)
我意识到这是因为对象是在不同的空间中。所以我认为我需要做的是将新的顶点转换回旧的空间......但我对这里到底发生了什么的理解充其量是模糊的。如何“撤消”tmesh.transform(selected.matrix)命令?
的我在做什么更thoroug的解释可以在这里找到:http://www.kellbot.com/2010/11/lego-plans-now-with-better-rendering/
你可以在`tmesh.transform(selected.matrix)`在它的顶点上进行“一堆计算”之前离开吗?即在对象的空间中工作并避免该问题。 – martineau 2010-11-30 20:24:41