首页 > 解决方案 > Maya:寄养节点时查询约束信息

问题描述

在 Maya 中,当它是一个寄养节点时,有没有办法查询约束的源和目标?

我正在尝试诊断成为养父母后连接丢失的问题,因此我需要中间信息来与有效的约束进行比较。

我遇到的所有方法都需要建立连接,但是虽然它是一个寄养节点,但这些方法并不存在。Maya 能够恢复连接,因此信息必须存在于某处。

标签: python-2.7maya

解决方案


您可以尝试通过参考的编辑来识别约束。打开参考编辑器,然后运行 ​​File->List reference edits。这将弹出一个新窗口,其中将显示在参考之外进行的所有编辑。此列表可能很大,因此您可以输入约束的名称来过滤结果。

现在,如果您尝试通过脚本访问它,您可以使用cmds.referenceQuery.

将参考节点而不是养父母传递给这些命令:

edit_strings = cmds.referenceQuery("YOUR-REF-NODE", editStrings=True)
edit_nodes = cmds.referenceQuery("YOUR-REF-NODE", editNodes=True)
edit_attrs = cmds.referenceQuery("YOUR-REF-NODE", editAttrs=True)

for line, node, attr in zip(edit_strings, edit_nodes, edit_attrs):
    print line, " ::: ", node, ":::", attr

打印出来的结果如下:

parent -s -r "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1" "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL"  :::  |CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1 ::: constraintTranslateX
connectAttr "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1.constraintTranslateX" "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL.translateX"  :::  |CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL ::: translateX
connectAttr "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1.constraintTranslateY" "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL.translateY"  :::  |CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1 ::: constraintTranslateY
connectAttr "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1.constraintTranslateZ" "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL.translateZ"  :::  |CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL ::: translateY
connectAttr "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1.constraintRotateX" "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL.rotateX"  :::  |CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1 ::: constraintTranslateZ
connectAttr "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1.constraintRotateY" "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL.rotateY"  :::  |CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL ::: translateZ
connectAttr "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1.constraintRotateZ" "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL.rotateZ"  :::  |CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1 ::: constraintRotateX
connectAttr "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL.rotateOrder" "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1.constraintRotateOrder"  :::  |CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL ::: rotateX
connectAttr "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL.parentInverseMatrix" "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1.constraintParentInverseMatrix"  :::  |CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1 ::: constraintRotateY
connectAttr "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL.rotatePivot" "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1.constraintRotatePivot"  :::  |CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL ::: rotateY
connectAttr "|CHR_alienB001_001:ROOT_NUL|CHR_alienB001_001:RIG_NUL|CHR_alienB001_001:globalSRT_NUL|CHR_alienB001_001:globalSRT_CTRL.rotatePivotTranslate" "|CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1.constraintRotateTranslate"  :::  |CHR_alienB001_001RNfosterParent1|globalSRT_CTRL_parentConstraint1 ::: constraintRotateZ

希望有帮助!


推荐阅读