你如何在 maya python ls 命令中 select 顶点?
How do you select vertices in a maya python ls command?
当我在选择顶点时使用 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)
当我在选择顶点时使用 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)