2024-03-29 10:15:07 发布
网友
我选择了一堆多边形顶点组件。但有时用户可能会选择其他对象(关节、另一个网格等)。我正在尝试找到一种方法来测试所有选定的对象,以验证它确实是一个顶点。但我找不到这样的东西。在
有没有python命令可以直接执行此操作?在
不完全是。您可以使用cmds.ls(hl=True)找到已准备好进行组件选择的对象。您可以找到不是带有cmds.ls(o=True)的组件的选定对象。这意味着您只能像这样间接地隔离组件选择:
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来返回所有选定对象中的多边形顶点组件,这对您的用例可能很有用。在
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。在
不完全是。您可以使用
cmds.ls(hl=True)
找到已准备好进行组件选择的对象。您可以找到不是带有cmds.ls(o=True)
的组件的选定对象。这意味着您只能像这样间接地隔离组件选择:这将生成一组完整的选择,然后一个只包含对象,最后从第一个中减去第二个,只留下组件选择(注意,如果有属性选择,也会传递属性选择)。在
使用
filterExpand
并将selectionMask
标志设置为31
来返回所有选定对象中的多边形顶点组件,这对您的用例可能很有用。在以下是一个简单的示例(带一些注释): 选择不同种类的对象和组件进行尝试。在
检查docs here中的filterExpand。在
相关问题 更多 >
编程相关推荐