コールバックを使用し、あらゆる数の関数を実行する複雑なスクリプトにアトリビュートをリンクすることができます。たとえば、コールバック スクリプトを使用し、Maya シーンに影響を与えるようにアトリビュート エディタ(Attribute Editor)コントロールを調整することができます。
次のイメージは、Maya で作成されたタンクを示しています。マスター ノードが選択され、既定のビューが選択された状態でアトリビュート エディタ(Attribute Editor)にこのノードが表示されています。
次のイメージでは、アニメーション(Animation)というビューが選択されています。このビューは、アニメータのニーズに合わせてカスタマイズされています。たとえば、ディテール(Details)アトリビュートはオフに設定されています。その結果、タンクの細部はシーンで非表示になっています。
このビューは、AEtankControlAnim というプロシージャを呼び出す AETransformTemplate.xml というカスタム テンプレートで作成されました。
AEtankControlAnim は、MEL または Python で作成できます(カスタム アトリビュート コントロールを作成するを参照)。AEtankControlAnim には、コールバック スクリプトが含まれます。
このコールバック スクリプトは次の 2 つのタスクを実行します。
たとえば、ディテール(Details)アトリビュートには、そのアトリビュート宣言に次のコード行が含まれます。
<attribute name='details' type='maya.bool'>
ディテール(Details)アトリビュートに変更を加えるために、AEtankControlAnim プロシージャにコード行がいくつか追加されます。
tankControlAnimCB という変更コマンドが、(Attribute Editor)アトリビュート エディタレイアウトで(Details)ディテールチェックボックスがオフになるようにする 2 番目のスクリプトを実行します。