3ds Max には、プラグイン アプリケーションを作成する手段として、C++ を使用した SDK と、プログラム本来のスクリプト言語である MAXScript の 2 つの方法が用意されています。
どちらの言語を選択するかは、作業の形態とプラグインで実行する目的によって異なります。両方の言語には長所と制約がありますが、どちらかを使用して複雑なアプリケーションを開発できます。
一般に、MAXScript プラグインは、C++ で書かれた同等のプラグインよりも実行速度が遅くなります。したがって、パフォーマンスが重要になる場合は、SDK を使用した方がおそらく適しています。
一方、MAXScript では、C++ の SDK に備えられたメソッドよりもレベルの高いメソッドを用意しており、SDK には公開されていないいくつかの 3ds Max 機能および特性をサポートしています。MAXScript ではサポートされているが SDK ではサポートされていない機能を使用する必要がある場合は、MAXScript が唯一の選択になります。特に、OLE/ActiveX/DotNet コントロールを介して 3ds Max 機能をパブリッシュする場合、SDK を使用するよりも MAXScript でコード化した方が簡単です。
SDK は、パフォーマンスが重要な場合に適しています。これは一般に、プラグインの主要目的が、相互作用ではなく計算にある場合です。
パフォーマンスはほとんどの場合、オブジェクト、サブオブジェクト、ファイル、通知メッセージなどの大量のエンティティをプラグインで処理するときに問題となります。
反転に関しては、C++ プラグインの開発と、特にデバッグは速度の遅い順となります。これは、再コンパイル、3ds Max の再開始、および GUI リソースの調整が必要となるためです。
2 つの方法の良い点を組み合わせ、欠点をなくすとよい場合があります。
スピードが重視される機能は SDK で記述して関数公開インタフェースとして MAXScript に公開し、ユーザ インタフェースは MAXScript で対応するハイブリッド システムを実装すると、開発時間が短縮され、同じ基礎 C++ コードを使用しながら(機能の更新やエンド ユーザに UI を再構成させるといった点で)ある種のフレキシビリティが実現することにもなります。