C++ で 2 つの Maya プラグインを開発しており、プラグイン #2 からプラグイン #1 の関数を呼び出し、関数とともにパラメータを送信したいと考えています。
呼び出し元のプラグインは MPxNode であり、呼び出されるプラグインは、いくつかのレンダリング VRayPlugins を作成する役割を持つ「一般的な」関数である必要があります。
適切な関数を宣言して呼び出すにはどうすればよいですか?
Maya プラグインは、Windows、OSX、Linux のいずれで実行しても、標準の DLL と変わりません。ここで使用できる複数のアプローチがあります。ユーティリティ dll をプラグインにリンクすることができます。OS がそれを検出できる限り、プラグインが Maya にロードされるたびに Maya アドレス空間にロードされます(Maya DLL を含むすべての DLL と同様)。もう 1 つの方法は、シンボルを DLL からエクスポートしますが、実行時に関数/クラスをリンクします (LoadLibrary() / GetProcAdress())。今回は、ユーティリティ DLL を自分でロードし、エクスポート シグネチャを検索してから呼び出す必要があります。これら 2 つの方法の場合、これは標準の C++ プログラミングであり、Maya に関しては特別なことではありません。
Maya DG を使用している場合は、MMessage / MPxNode を使用してデータを転送および評価することも考えられます。これは、Maya DG および API に固有のものです。しかし、あなたが上で説明したことに対して、そのレベルの複雑さが必要かどうかはわかりません。