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 プロシージャで使用されます。
この手順により、プロシージャを含む MEL ファイルへのパスが Maya に提供されます。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>