如何将消息属性的字段从另一个节点添加到“属性编辑器”?

时间:2015-12-16 02:13:28

标签: maya mel

假设我有3个名为GrandParent,Parent和Child的节点。 Child连接到Parent,Parent通过Message属性连接到GrandParent。

我想在引用Child的GrandParent的属性编辑器中添加一个自定义字段。基本上,Parent的message属性的字段接收到Child的连接,但在GrandParent中显示该字段。

它看起来像是在AEParentTemplate.mel中使用editorTemplate -label "Brush Details" -addControl "child";获得的内容,其中child是用于连接Child节点的Message属性。 Message attribute

除了我想将它添加到GrandParent的属性编辑器。

我设法通过在AEGrandParent.mel中使用editorTemplate -callCustom "parent_new" "parent_replace"将其他属性从Parent添加到GrandParent。在parent_new中,我创建了一个虚拟父节点

string $dummyParent = `createNode -skipSelect "Parent"`;

我用它将Parent中的字段添加到GrandParent的属性编辑器中。例如 attrFieldSliderGrp -attribute ($dummyParent + ".numericValue")为Parent中名为numericValue的float属性添加一个字段和滑块。我可以对attrColorSliderGrp -label $tmpStr -attribute ($dummyParent + ".color")

的颜色属性执行相同的操作

然后在parent_new结束时删除临时节点,并通过更新字段的属性引用(例如attrFieldSliderGrp -e -attribute "parentNode1.numericValue" "parentNumericValueField";)将值保存在parent_replace中更新的字段中。

我的问题是我无法找到如何为Message属性执行相同操作。我尝试使用attrFieldGrp -attribute ($dummyParent + ".child");创建一个attrFieldGrp,但这会使Maya 2014崩溃。我在attrControlGrp attrControlGrp -attribute ($dummyParent + ".child");上尝试了同样的操作,这给出了一个错误,即attrControlGrp不支持Message属性。

知道如何实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

解决方案只是使用attrNavigationControlGrp来创建控件。此控件不需要虚拟父节点,并将为节点连接创建UI。