【问题标题】:How do you select vertices in a maya python ls command?如何在 maya python ls 命令中选择顶点?
【发布时间】:2019-02-08 16:09:33
【问题描述】:

当我选择顶点时使用 Maya 的 ls 命令并且我想要一个我选择的顶点列表时,如何使用 type 选项以便只获取网格的顶点?

类似:

import pymel.core as pm
verts = pm.ls(sl=True, fl=True, type=[vertex? polymeshVtx?])

【问题讨论】:

    标签: python maya


    【解决方案1】:

    有点晚了,但你有 filterExpand 的功能

    sel = cmds.ls(sl=True)
    onlyVertices = cmds.filterExpand(sel, sm=31)
    

    【讨论】:

      【解决方案2】:

      我给你使用 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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-30
        • 1970-01-01
        • 2023-03-06
        • 2022-10-08
        • 1970-01-01
        相关资源
        最近更新 更多