このページでは、3ds Max 2011 の MAXScript 言語の変更と改良点について簡単にその概要を説明します。各機能の詳細については、ドキュメントの各ページのリンクをお読みください。
新機能に関する説明以外の MAXScript リファレンスの変更内容については、「3ds Max 2011 におけるドキュメントの変更点」を参照してください。
3ds Max 2011 には以下の新機能が追加され、MAXScript に公開されています。
PolyTools インタフェース - グラファイト モデリング ツール
PolyToolsModeling : GlobalUtilityPlugin
PolyToolsPaintDeform : GlobalUtilityPlugin
PolyToolsPolyDraw : GlobalUtilityPlugin
PolyToolsSelect : GlobalUtilityPlugin
PolyToolsShift : GlobalUtilityPlugin
PolyToolsTopology : GlobalUtilityPlugin
PolyToolsUVWTweak : GlobalUtilityPlugin
グラファイト モデリング機能は、複数の GlobalUtilityPlugin によって強化されてきました。これらのプラグインにより公開されるプロパティとメソッドが、MAXScript ツールとして正式にサポートされるようになりました。(3ds Max 2010 では、これらの機能は MAXScript には公開されていましたが、ユーザのスクリプトにおいては正式にサポートされていませんでした。)
新しいコア インタフェースです。リボン UI にアクセスし、その外観をカスタマイズするメソッドを公開します。
新しいコア インタフェースです。(内部的には「Grip」と呼ばれる)キャディの画面内パラメータ マニピュレータの外観と配置に関するプロパティを公開します。
新しいコア インタフェースです。キャディ(Grip)の画面内パラメータ マニピュレータの、さまざまなポリゴン モデリング機能に対応する表示に関するメソッドを公開します。
Quicksilver_Hardware_Renderer: RendererClass
新しいレンダラー クラスです。Quicksliver ハードウェア レンダラーのインスタンスを作成して、プロダクション レンダラーに割り当て、プロパティの設定を行います。
新しい maxops.mtlDlgMode プロパティです。マテリアル エディタのモードをレガシーで取得、設定するか、スケマティク マテリアル エディタを取得します。
マテリアル エディタ モードを開き、閉じるための既存のメソッドを、スケマティク マテリアル エディタにも使用できるようになりました。新しいプロパティとメソッドが追加されたことにより、マテリアル エディタのコントロールをコントロールし、スケマティク マテリアル エディタを個別的に開くことができるようになりました。
新しいコア インタフェースです。コンテナの基本設定を MAXScript に公開します。
いくつかの新しいプロパティとメソッドが既存のコンテナ ヘルパー オブジェクトに追加されました。
既存のインタフェースに 3 つの新しいメソッドが追加され、アニメーションの公開済みの UI 状態がコントロールされ、子のロック解除ができるようになりました。
3ds Max CAT(キャラクタ アニメーション ツール)システムは 3ds Max に不可欠なものとなり、MAXScript に完全公開されるようになりました。
mental ray の新しい .taskSize Auto プロパティによって、バケット サイズを自動調整してすべてのコアを最適に使用するかどうかがコントロールされます(マテリアル エディタ サンプルの更新時など)。
インタフェース mental_ray_string_options
新しいコア インタフェースです。レンダリング オプションの切り替えと、UI 内でまだ利用できない内部パラメータの設定を行います。
このインタフェースによって、mental ray 機能の公開と通常使用前に、評価を行うことが可能です。文字列セットは MaxScript によってのみ設定、クリアできます。いったんオプションを設定すると、そのオプションをクリアするまで、あるいは 3ds Max をシャットダウンするまで、すべての mental ray レンダーがその影響を受けます。
このトピックでは、mental ray の高度な機能および UI 機能に現在公開されていない機能にアクセスするための、Progressive レンダリング、Irradiance パーティクル、Importon、、強制ファイナル ギャザー モードなどの String オプション インタフェースの使用方法について説明します。
mental ray のレンダリング メッセージ ウィンドウを MAXScript に公開します。
多数の新しい mental ray シェーダが 3ds Max 2011 に追加されました。
新しい「ボディ」OSnap セットがインデックス 1 の既存 Snaps システムに追加されました。これによって、スナップセットの数が 5 から 6 に増え、これまで使用可能であった「NURBS」および 4 つの「Standard」OSnap セットのインデックスが 1 つ上に引き上げられました。
以前使用可能だったプロパティ snapMode.useAxisCenterAsStartSnap Point は、3ds Max 2011 で廃止されました。
新しい ImporterPlugin です。Google SketchUp ファイルを 3ds Max に読み込むことができます。
InventorImport : ImporterPlugin
新しい ImporterPlugin です。Autodesk Inventor ファイル(.IPT、.WIRE、.IAM)を 3ds Max に読み込むことができます。
3ds Max 2011 において、オブジェクト名の既定の桁数は 3 に変更されました。この数は maxOps.NameSuffixLength プロパティを使用してコントロールできます。
uniquename() メソッドは、新しい既定の桁数もサポートし、新しいオプションのキーワード引数 numDigits も提供されています。これは、生成される桁数をコントロールします。
mergeMaxFile() メソッドでは、新しいオプションのフラグ #autoRenameDups がサポートされるようになりました。このフラグを使用すると、シーン内に既に存在する名前を持つ取り込みオブジェクトの名前が自動的に変更されます。
saveMaxFile() メソッドと saveNodes() メソッドでは、新しいオプションのキーワード引数 saveAsVersion : がサポートされます。この引数によって、整数値 2010 が受け入れられ、ファイルが指定バージョンの形式で保存されます。値が指定されていない場合、あるいはその他の値が指定された場合は、現在のバージョンのファイル形式が使用されます。
Container の SaveContainer メソッド
saveContainer() メソッドにおいても、新しいオプションのキーワード引数 saveAsVersion: がサポートされます。この引数によって、整数値 2010 が受け入れられ、ファイルが指定バージョンの形式で保存されます。値が指定されていない場合、あるいはその他の値が指定された場合は、現在のバージョンのファイル形式が使用されます。
インタフェース: FileResolutionManager
2 つのメソッドが既存のインタフェースに新規追加されました。これらのメソッドにより、アセット タイプにアクセスできます。
3ds Max 2011 よりも前のバージョンでは、 getClassInstances() 関数は、アニメート可能なツリーを列挙することでクラス インスタンスを探していました。オブジェクトのサブアニメーションのセットが、オブジェクトが保持する参照のサブセットであるために、シーンに存在するインスタンスが欠落するケースが数多く生じています。これを解決するために、この関数では、(2 つの新しい引数を含む)引数に応じて、さまざまな方法でクラス インスタンスが検索されるようになりました。
スクリプトのシーン ルートおよびマクロ レコーダを表わします。 rootScene の subAnims にはノード階層、マテリアル エディタ、トラック ビュー、およびシーン マテリアル ライブラリなどが含まれます。
3ds Max 2011 における MAXScript レンダリングとビットマップ ページャに関する
これまでのリリースでは、MAXScript で複数の render() 呼び出しが実行されると、前回のレンダリング結果がメモリに残り、自動的にリリースされませんでした。それらをリリースするために、ユーザは手動でガベージ コレクションを呼び出さなければなりませんでした。これはメモリを浪費する上、ビットマップ ページャの存在によりディスク スペースも圧迫していました。この問題は、レンダリング後に定期的にガベージ コレクションを自動実行することによって 3ds Max 2011 で修正されました。