Maya: запрашивать информацию об ограничениях при приемном узле - PullRequest
0 голосов
/ 13 октября 2018

В Maya есть способ запросить источник и цель ограничения, пока это приемный узел?

Я пытаюсь диагностировать проблему, когда соединение теряется после того, как он становится приемным родителем, поэтому мне нужна промежуточная информация для сравнения с работающим ограничением.

Все методы, с которыми я сталкивался, требуют установления соединения, но пока это приемный узел, их не существует.Майя может восстановить соединения, так что информация должна где-то существовать.

1 Ответ

0 голосов
/ 15 октября 2018

Вы можете попытаться определить ограничения, пройдя редактирование справочника.Откройте редактор ссылок, затем запустите Файл-> Список изменений ссылок.Откроется новое окно, в котором будут отображены все изменения, которые произошли за пределами ссылки.Этот список может быть потенциально огромным, поэтому вы можете ввести имя ограничения для фильтрации результатов.

Теперь, если вы пытаетесь получить к нему доступ через скрипт, вы можете использовать cmds.referenceQuery.

* 1005.* Передайте узлу ссылки, а не приемному родителю, следующие команды:
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

Надеюсь, это поможет!

...