当使用Maya的ls命令时,我选择的顶点,我想我选择的顶点列表,我该如何使用类型选项,这样,我只得到一个网格的顶点?
就像是:
import pymel.core as pm
verts = pm.ls(sl=True, fl=True, type=[vertex? polymeshVtx?])
林给你的方法与maya.cmds第二个可能是pymel一个解决方案,但有可能是另一种更容易的方法。
import maya.cmds as cmds
sel = cmds.ls(sl=True, o=True)[0]
sel_vtx = cmds.ls('{}.vtx[:]'.format(sel), fl=True)
import pymel.core as pm
obj_sh = pm.ls(sl=True, dag=True, type='mesh')[0]
vtx_nb = obj_sh._numVertices()
vtx_flatten = ['{}.vtx[{}]'.format(obj_sh,i) for i in vtx_nb]
---编辑---
import pymel.core as pm
obj_sh = pm.ls(sl=True, dag=True, type='mesh')[0]
for v in obj_sh.vtx:
print(v)
有点晚了,但你必须filterExpand为
sel = cmds.ls(sl=True)
onlyVertices = cmds.filterExpand(sel, sm=31)