API ガイド > ディペンデンシー グラフ プラグイン >

# アトリビュートとプラグ

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

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

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

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

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

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