python-2.7 - Maya:寄养节点时查询约束信息
问题描述
在 Maya 中,当它是一个寄养节点时,有没有办法查询约束的源和目标?
我正在尝试诊断成为养父母后连接丢失的问题,因此我需要中间信息来与有效的约束进行比较。
我遇到的所有方法都需要建立连接,但是虽然它是一个寄养节点,但这些方法并不存在。Maya 能够恢复连接,因此信息必须存在于某处。
解决方案
您可以尝试通过参考的编辑来识别约束。打开参考编辑器,然后运行 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
希望有帮助!
推荐阅读
- python - 使用鼠标事件绘制模糊矩形
- javascript - Laravel 5.8 中外部 js 文件上的“405 Method not allowed”
- google-cloud-platform - GCP Dataproc 并行步骤执行
- html-email - 阻止 SES 将 awstrack.me 添加到我的所有电子邮件链接
- javascript - 如何访问以下 json 值
- django - Django ORM - 获取具有 OneToOneField 的多个 select_related
- android - 在 Facebook Canvas 上的存在,appwarp android 游戏
- java - BMI 计算器 NaN 输出
- css - Spring MVC,无法加载背景图片
- python - 删除具有相同日期时间的行