【问题标题】:Item highlight for only items with child items仅具有子项的项的项突出显示
【发布时间】:2014-05-07 00:36:43
【问题描述】:

我正在尝试创建 2 个按钮,prevnext,但我不想在 Maya 大纲中选择它之前或之后的项目,而是选择下一个或以前有孩子的项目。

为了更清楚:在下图中,如果我选择了grpA_ctrl02,则在执行这两个按钮时,它将选择grpA_ctrl01grpA_ctrl03,因为这两个按钮都有子项

如何做到这一点?

【问题讨论】:

  • 另一个问题因不熟悉 Maya 的用户不清楚而关闭...

标签: python selection maya


【解决方案1】:

您想使用pickWalk 命令。

while True:
    cmds.pickWalk(d='left')
    children = cmds.listRelatives(cmds.ls(sl=True), children=True, typ='transform')
    if children:
        break

所有这些都在 while True 中,以保持它循环直到找到有效节点。

  • 首先,它向左移动一个节点。
  • 然后列出子变换
  • 如果有孩子,就符合要求,所以break
  • 否则,重做一遍,再向左走一趟

对于另一个方向,做同样的事情,但使用pickWalk(d='right')

文档:
pickWalk
listRelatives

【讨论】:

  • 感谢您回来。我意识到如果选择在同一“级别”内,它会起作用。如果说,我的选择在 grpA 内部,它将在 grpA_ctrl01 和 grpA_ctrl03 之间突出显示,但它不会突出显示 grpA(尽管它具有子变换),也不会跳转并突出显示到 grpA 之外的下一组层次结构。我尝试更改listRelatives 中的标志,例如放入父标志等。它不起作用,或者我是否需要以某种方式定义children 加上parent selection 等?
  • 哇,是的,那将是完全不同的。不确定我将如何在同一个函数中做到这一点,但我也无法理解我为什么想要这样做。似乎该功能可能更适合不同的按钮,如果您在实现它时遇到了新的堆栈溢出问题。祝你好运!
  • 好的,非常感谢!可能我会尝试玩一下,看看情况如何。再次感谢!
  • 一个指针:向上走,然后向左走,然后向下走。三个独立的步行道
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-05
  • 2012-03-15
  • 1970-01-01
相关资源
最近更新 更多