假设我有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属性。
除了我想将它添加到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属性。
知道如何实现这一目标吗?
答案 0 :(得分:0)
解决方案只是使用attrNavigationControlGrp
来创建控件。此控件不需要虚拟父节点,并将为节点连接创建UI。