若要使用 MEL 创建属性控件,请完成以下步骤:
在下面的示例中,floatSlider 控件是使用 MEL 程序 AEFloatSlider 创建的,然后使用更改命令 AEaddFloatSliderCB。
global proc AEaddFloatSliderCB( string $plug, string $slider )
{
float $val = `floatSlider -q -v $slider`;
setAttr $plug $val;
}
global proc AEaddFloatSlider ( string $plug, string $label, string $annot )
{
// Body of callback
rowLayout -nc 2;
float $val = `getAttr $plug`;
string $slider;
text -label $label;
$slider = `floatSlider -annotation $annot -v $val`;
floatSlider -e -cc ("AEaddFloatSliderCB \"" + $plug + "\" \"" + $slider + "\"")
$slider;
setParent
}
MEL 程序使用以下参数:
此步骤为 Maya 提供了包含 MEL 程序的 MEL 文件的路径。如果将文件保存到名为 C:/myScripts 的目录中,请将以下内容键入到 MEL 命令行或“脚本编辑器”(Script Editor)中:
source "C:/myScripts/AEFloatSlider.mel";
在创建模板文件时,将 <description language="cb"> 标记添加到属性声明或视图定义中,并指定 MEL 程序的回调。若要将上述步骤中定义的自定义滑块控件添加到“白炽度红色”(Incandescence Red)属性,请使用以下命令:
<attribute name='incandescenceR' type='maya.float'>
<label>Incandescence Red</label>
<description language="cb">AEaddFloatSlider</description>
</attribute>
