MAXScript における DotNet

すべての ActiveX コントロールが Microsoft Windows の 64 ビット バージョン用に再コンパイルされているわけではありません。3ds Max ユーザ インタフェースのさまざまな領域が TreeView および ListView などの ActiveX コントロールに依存しています。これらのコントロールやその他のコントロールの代替実装を提供するため、3ds Max 9 以降では、DotNet クラス、オブジェクト、およびメソッドへのアクセスが提供され、MAXScript ロールアウトで使用するための dotNetControl ユーザ インタフェース コントロールも用意されています。

DotNet のパフォーマンスに関する注;

DotNet では Just in Time (JIT)コンパイラが使用されており、ユーザがマネージド コードを初めてロードまたは実行するときは、Common Language Runtime(CLR)が中間コードをコンパイルして機械語コードにするため、パフォーマンスが大幅に低下します。同じセッション内で同じコードをそれ以降に実行した場合は、JIT コンパイラはそのコードをもう 1 度コンパイルするのではなく、キャッシュされたバイナリを使用するので、実装時のパフォーマンスは 1 度目のときよりも向上します。

これにより、たとえば[名前付き選択セット](Named Selection Sets)ツールを初めて開く場合には、ダイアログ ボックスが表示されるまでに何秒間かかかる場合があります。2 度目以降はすぐに表示されます。

MaxCustomControls アセンブリ:

MaxCustomControls アセンブリ

DotNet の例および関連する機能が紹介されている外部ファイル:

[3dsMax Path]¥stdplugs¥stdscripts¥NET _ListViewWrapper.ms

このスクリプトには、ListView DotNet コントロールの作成および管理に役立つ関数が含まれています。

[3dsMax Path]¥stdplugs¥stdscripts¥NET_TreeViewWrapper.ms

このスクリプトには、TreeView DotNet コントロールの作成および管理に役立つ関数が含まれています。

[3dsMax Path]¥ui¥macroscripts¥Macro _BakeTextures.mcr

[テクスチャをレンダリング](Render To Texture)ダイアログ ボックスは、ActiveX コントロールの代わりに DotNet ListView コントロールを使用するように更新されています。

[3dsMax Path]¥ui¥macroscripts¥Macro _NamedSelSets.mcr

[名前付き選択セット](Named Selection Sets)エディタ ダイアログ ボックスが更新され、ActiveX コントロールに代わって DotNet の TreeView コントロールが使用されるようになりました。これは、DotNet TreeView コントロール内でドラッグ アンド ドロップを使用する場合の良い例です。

外部リソース:

Microsoft Developers Network (MSDN) ライブラリ - System.Windows.Forms に関する解説:

http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.aspx