アトリビュートとプラグ
 
 
 

ノード自体は、影響を与える方法がなければ使い道があまりありません。ノードの変更は、アトリビュートとプラグで実行します。

ノードのアトリビュートは、ノードとグラフの他の部分とのデータ インタフェースを定義します。評価中にノードが相互に渡すデータだけは、このインタフェースを介してやり取りされます。このインタフェースは、受け取るデータの型、データの名前(ロング フォームかショート フォームか)、データをリストにできるかどうか、ノードがデータの入出力を行う方法を指定します。データ型には、整数値や浮動小数点値などの単純なデータ型、およびポイント、ポリゴン メッシュ全体、NURBS サーフェスなどの複雑なデータ型が含まれます。

プラグは、特定アトリビュートのデータを含む構造体です。アトリビュートのすべてのデータ アクセスは、プラグを通して実行されます。アトリビュート自体は、データ型とアトリビュートの名前の定義のみを行います。プラグは、ノード間のコネクションを作成するためのポートでもあります。

アトリビュート名は、ノード階層全体で一意でなければなりません。つまり、派生クラスと親クラスすべてで一意である必要がありますが、関係ないノード間では再利用できます。

アトリビュートにはデフォルト値が割り当てられていることがあります。デフォルト値は、値が設定されていない場合に、アトリビュート上のプラグに含まれる値です。たとえば数値アトリビュートのデフォルト値はゼロですが、これはアトリビュートの作成時に変更できます。どのアトリビュートの型でもデフォルト値は、アトリビュートが受け入れるデータ型のデフォルト値になります。数値データのデフォルト値はゼロで、行列 データのデフォルト値は単位行列です。

デフォルトでは、Maya はアトリビュート エディタ(Attribute Editor)内でノードのアトリビュートを自動的に準備します。ノードのアトリビュートを特別に準備する場合は、ノードの アトリビュート エディタ テンプレートを作成します。これは MAYA_SCRIPT_PATH 上の MEL ファイルで、名前は AE{nodeName}Template.mel という形式になり、AE{nodeName}Template という名前の MEL プロシージャが含まれています。このプロシージャには editorTemplate コマンドが含まれており、このコマンドは、ノード内でアトリビュートのデフォルト レイアウトを変更する方法をアトリビュート エディタに指示します。