Maya Python如何查询选择以检查是否只有多边形或不同?

2024-03-29 10:15:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我选择了一堆多边形顶点组件。但有时用户可能会选择其他对象(关节、另一个网格等)。我正在尝试找到一种方法来测试所有选定的对象,以验证它确实是一个顶点。但我找不到这样的东西。在

有没有python命令可以直接执行此操作?在


Tags: 对象方法用户命令网格组件多边形顶点
2条回答

不完全是。您可以使用cmds.ls(hl=True)找到已准备好进行组件选择的对象。您可以找到不是带有cmds.ls(o=True)的组件的选定对象。这意味着您只能像这样间接地隔离组件选择:

 set (cmds.ls(sl=True, o=False)) - set(cmds.ls(sl=True, o=True))

这将生成一组完整的选择,然后一个只包含对象,最后从第一个中减去第二个,只留下组件选择(注意,如果有属性选择,也会传递属性选择)。在

使用filterExpand并将selectionMask标志设置为31来返回所有选定对象中的多边形顶点组件,这对您的用例可能很有用。在

以下是一个简单的示例(带一些注释): 选择不同种类的对象和组件进行尝试。在

import maya.cmds as cmds

# Will return EVERYTHING selected
all_selected = cmds.ls(sl=True)

# Will filter out and return just the verts
# from everything selected
just_the_selected_verts = cmds.filterExpand(sm=31)

检查docs here中的filterExpand。在

相关问题 更多 >