我使用Maya在选定边上执行某项任务。
假设我保存这些边缘:
edges = pm.filterExpand(sm=32)
从这里,我可以选择第一个边缘,并通过拆分unicode字符串来获取对象:
'pSphere1.e[274]'
这是我如何拆分它,它给了我pSphere1,但是在它上面调用getShape()仍然不起作用,因为它是一个unicode对象。
object = edges[0].split('.')[0].getShape()
有更好的方法吗?
答案 0 :(得分:2)
EFilterExpand始终返回字符串(无论是从cmds还是pm调用)。使用PyNode转换:
mesh_edges = map(pm.PyNode, pm.filterExpand(sm=32))
for item in mesh_edges:
print item.node(), item.indices()[0]
答案 1 :(得分:0)
我们可以通过简单地列出它与node()
<强> PYMEL:强>
pm.PyNode(selection[0].node().getParent())
无需拆分字符串,也无需重新映射数组。