3ds Max 6 の MAXScript 言語に関する改良点

ガベージ コレクションの改良点

手動ガベージ コレクション

MAXScript への今回の変更では、3ds Max 5 で導入された light:true パラメータの動作が拡張され、自動ガベージ コレクションになりました。

初期化時の構造体スコープの設定

初期化中の構造スコープ

構造体の初期化時に、スコープが構造体のコンテキストに設定されるようになりました。これによって、構造体のインスタンスが作成されたときに、構造体内の関数を効果的に実行できるようになります。

結果の値とループの終了

本体が単一式である macroScript ('on execute do ...' を使用しない旧スタイルの macroScript) で return() を呼び出して、macroScript を終了できるようになりました。

for ループ

新しくオプションの while <expr> テストが for ループに追加されました。 for ループは、テスト式が false と評価されると終了します。

ループ終了

with <expr> を使用した for ... do ループの終了結果が、式の値になりました。3ds Max 6 以前のリリースでは、 OK が返されていました。

ArrayParameter 値を強制的に配列に置き換える

ArrayParameter 値

ArrayParameter 値を強制的に配列に置き換えることができるようになりました。

例:

mtl = standard()
mapsArray = mtl.maps as array

modPanel.ValidModifier の改良点

[修正](Modify)パネル

modPanel.validModifier メソッドが変更され、ノード/ノード コレクションまたはモディファイヤ/モディファイヤ クラスのどちらかが 'undefined' であるか、ノード コレクションが空の場合、 false が返されるようになりました。

非表示、表示、フリーズ、フリーズ解除のパフォーマンスの向上

ノードの共通メソッド - ビューポート状態

ノード コレクションを渡すときにマップ可能なメソッドである hide、unhide、freeze 、および unfreeze を呼び出す方法が変更され、個々の呼び出しが一度に 1 つのノードに渡されるのではなく、単一の内部呼び出しがノード配列に渡されるようになりました。

従来のバージョンに比べ、これらのメソッドの速度が大幅に向上しました。

ActiveX

ユーザ インタフェース コントロール上のフォーカスの設定

setFocus <rollout_ui_item> 関数を ActiveXControl の UI 項目で使用できるようになりました。

関連事項