このページでは、単純なスタティック アトリビュートおよびプラグの処理方法について説明します。
ノード自体は、影響を与える方法がなければ使い道があまりありません。ノードの変更は、アトリビュートとプラグで実行します。
ノードのアトリビュートは、ノードとグラフの他の部分とのデータ インタフェースを定義します。評価中にノードが相互に渡すデータだけは、このインタフェースを介してやり取りされます。このインタフェースは、受け取るデータの型、データの名前(ロング フォームかショート フォームか)、データをリストにできるかどうか、ノードがデータの入出力を行う方法を指定します。データ型には、整数値や浮動小数点値などの単純なデータ型と、ポイント、ポリゴン メッシュ全体、NURBS サーフェスなどの複雑なデータ型が含まれます。
プラグは、特定アトリビュートのデータを含む構造体です。アトリビュートのすべてのデータ アクセスは、プラグを通して実行されます。アトリビュート自体は、データ型とアトリビュートの名前の定義のみを行います。プラグは、ノード間の接続を作成するためのポートでもあります。
アトリビュート名は、ノード階層全体で一意でなければなりません。つまり、派生クラスと親クラスすべてで一意である必要がありますが、関係ないノード間では再利用できます。
アトリビュートには既定値が割り当てられていることがあります。既定値は、値が設定されていない場合に、アトリビュート上のプラグに含まれる値です。たとえば数値アトリビュートの既定値はゼロですが、これはアトリビュートの作成時に変更できます。どのアトリビュートの型でも既定値は、アトリビュートが受け入れるデータ型の既定値になります。数値データの既定値はゼロで、行列データの既定値は単位行列です。
スタティック アトリビュートを設定するためには、主に 2 つのことを実行する必要があります。
たとえば、単純な数値を格納するアトリビュートを使用するには、MFnNumericAttribute クラスを使用します。「ディペンデンシー ノードの基本例」を参照してください。
より複雑なデータ型を格納するには、MFnTypedAttribute などの他のアトリビュート クラスを使用して設定します。「より複雑なディペンデンシー グラフの例」を参照してください。
既定では、Maya はアトリビュート エディタ(Attribute Editor)内でノードのアトリビュートを自動的に準備します。ノードのアトリビュートを特別に準備する場合は、ノードのアトリビュート エディタ テンプレートを作成します。これは、MAYA_SCRIPT_PATH 上の MEL ファイルで、名前は AE{nodeName}Template.mel という形式になり、AE{nodeName}Template という名前のプロシージャが含まれています。このプロシージャには editorTemplate コマンドが含まれており、このコマンドは、ノード内でアトリビュートの既定レイアウトを変更する方法をアトリビュート エディタに指示します。