【发布时间】:2012-08-09 03:24:25
【问题描述】:
使用attributeAffects 函数可以链接Maya 节点的两个属性。例如,输入属性x 可以链接到输出属性y。这意味着当x 发生更改时,Maya 将在给定节点上运行compute() 回调函数,以计算y。
但是,据我所知,只有节点本身的属性才能像这样从插件内部连接。
在我的插件中,我扩展了一个MPxLocator,并设置了输出属性out。我想做以下事情:
# replace <...> with transform node name.
attributeAffects(CustomNode.out, <custom node's tranform node>.translateX)
attributeAffects(CustomNode.out, <custom node's tranform node>.translateZ)
我根本找不到任何有关如何执行此操作的文档!有人做过/知道怎么做吗?有一种方法可以通过在脚本编辑器 (python) 中执行以下操作来破解:
import maya.cmds as cmds
# Creates CustomNode1, which is linked to transform1 in the DG.
cmds.createNode("CustomNode")
cmds.connectAttr("transform1.translateX", "CustomNode.out")
cmds.connectAttr("transform1.translateZ", "CustomNode.out")
【问题讨论】: