若要使用 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>