ディペンデンシー ノードの基本クラスと関数

ディペンデンシー ノードで共有される特定の基本要素があります。これらには、コア関数の実装、アトリビュートの宣言、データの処理が含まれます。

基本クラス

すべてのディペンデンシー ノード プラグインは、次のクラスを使用する必要があります。

クラス 用途
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 からアンロードされるときに呼び出されます。プラグインを登録解除します。詳細については、「プラグイン エントリ ポイント」を参照してください。