Maya 变换节点"black box" - 在大纲视图中隐藏节点层次结构



Maya 中的"dagContainer"资产节点具有"blackBox"属性,启用该属性后会在大纲视图中隐藏资产节点层次结构的内容。

转换节点也具有相同的属性,但是它是隐藏的,启用后不会隐藏大纲视图中节点层次结构的内容,例如:

from maya import cmds
cmds.createNode('transform', name='test')
cmds.createNode('transform', name='child')
cmds.parent('child', 'test')  # creating some hierarchy;
print cmds.getAttr('test.blackBox')  # returns False;
cmds.setAttr('test.blackBox', True)  # no effect;

与资产 DAG 容器节点类似,是否可以使用转换节点启用相同的"黑盒"功能?或者是否有任何其他方法可以在 Maya 大纲视图中以编程方式隐藏转换节点的层次结构?

对于任何有类似问题的人,我的解决方案是使用"doHideInOutliner"MEL 命令:

from maya import cmds, mel
def node_hierarchy_display(root_node, show=True):
for node in cmds.listRelatives(root_node,
children=True,
fullPath=True):
cmds.select(node)
mel.eval('doHideInOutliner {};'.format(int(not show)))
cmds.select(clear=True)

这样达到的结果与容器节点的"黑盒"属性相同。

最新更新