Maya:在编写将网格切割成相等部分的脚本时遇到问题

Maya: Having trouble writing a script to cut a mesh into equal pieces

我想根据多个顶点将网格分割成多个部分。本质上,我想要一个网格切割成 300 个顶点的部分,每个部分都有剩下的剩余部分。

大部分时间我都这样做了(我可以得到 verts/faces,等等),但我无法找到一种优雅的方式来遍历提取的网格。

我使用的是 polyChipOff,它的切面没有 return 值,所以它是创建的全新对象,我无法处理,所以我不能继续从以前的作品,因为它不再存在。

关于如何更好地解决这个问题有什么建议吗?

我考虑过遍历场景中的所有网格以获得新的网格(在开始时缓存它们)或使用 scriptJob 来检测正在制作的新对象。这两个看起来都很老套,所以很好奇是否有人有建议。

你可以试试这个方法:

import maya.cmds as cmds

shape = cmds.listRelatives(p=True)
object = cmds.listRelatives(a, p=True)
selectedFace = cmds.ls(sl=True)

cmds.select(object[0] + '.f[:]', tgl=True)
unselecetedFace = cmds.ls(sl=True)

duplicated = cmds.duplicate(object, un=True)[0]
cmds.delete(duplicated, ch=True)
cmds.delete(selectedFace)

for i in range(len(unselecetedFace)):
    unselecetedFace[i] = unselecetedFace[i].replace(object[0],duplicated)

cmds.delete(unselecetedFace)
cmds.select(duplicated)