ディペンデンシー ノードで共有される特定の基本要素があります。これらには、コア関数の実装、アトリビュートの宣言、データの処理が含まれます。
すべてのディペンデンシー ノード プラグインは、次のクラスを使用する必要があります。
クラス | 用途 |
---|---|
MFnPlugin | Maya プラグイン関数セット。これはプラグインの作成時に常に必要です。 |
MPxNode | ベース ディペンデンシー ノード プロキシ クラスです。MPxNode から派生する特定のノード タイプのプロキシ クラスも API に含まれています。すべてのディペンデンシー ノード プラグインは、ノード プロキシ クラスを拡張する必要があります。 |
MTypeID | ディペンデンシー ノードのタイプ ID を登録するために使用します。すべてのディペンデンシー ノードには タイプ ID が必要です。ノードが組織の内部でのみ使用される場合は、0 ~ 0x7ffff の任意の値を使用できます。ただし、ノードを配布する場合は、http://mayaid.autodesk.io/ からノード ID 範囲を登録する必要があります。 |
MPlug | 特定のノードとアトリビュートのペアによって定義された接続点を一意に識別して参照します。 |
MDataBlock | データ ブロックのラッパー クラスです。データ ブロックには、ノードのすべてのデータが格納されます。ノードのすべてのアトリビュート データは、ノードのデータ ブロックに格納されます。 |
MDataHandle | データ ハンドルのラッパー クラスです。データ ハンドルは、特定のプラグに対応するデータ ブロック内のデータを指します。 |
MFnAttribute | 基本アトリビュート関数セットです。関数セットは、特定のタイプのアトリビュートに使用できます。これらはすべて MFnAttribute から継承されます。必要なアトリビュート タイプのクラスが存在しない場合は、MFnTypedAttribute または MFnGenericAttribute を使用できます。 |
すべてのノードは creator()、initialize()、initializePlugin()、および uninitializePlugin() を実装する必要があります。データを処理するノードは compute() メソッドを実装する必要があります。これらのすべてのメソッドは、Maya によって異なる時間に呼び出されます。
関数またはメソッド | 説明 |
---|---|
initializePlugin() | プラグインが Maya にロードされるときに呼び出されます。プラグインを登録します。詳細については、「プラグイン エントリ ポイント」を参照してください。 |
initialize() | ノード アトリビュートを初期化します。ノードが登録されるときに呼び出されます。 |
creator() | ノードをインスタンス化します。ディペンデンシー グラフでノードがインスタンス化されるたびに呼び出されます。 |
compute() | 出力アトリビュートの値を計算し、ノードのデータ ブロックに設定します。ディペンデンシー ノード グラフを初めて実行したときに呼び出され、その後、ノードの出力プラグがダーティになり、再計算する必要がある場合に呼び出されます。 |
uninitializePlugin() | プラグインが Maya からアンロードされるときに呼び出されます。プラグインを登録解除します。詳細については、「プラグイン エントリ ポイント」を参照してください。 |