このトピックでは、3ds Max 2017 の MAXScript 言語の変更および改善点についての概要を簡単に説明します。各機能の詳細については、ドキュメントの各ページのリンクをお読みください。
新しい Boolean3 : GeometryClass は、ブール演算オブジェクトと使いやすい最新インタフェースを実装します。
新しい インタフェース: BooleanExplorerManager コア インタフェースを使用すると、[ブール演算エクスプローラ](Boolean Explorer)ダイアログに MAXScript からアクセスできます。
新しいインタフェース: BooleanObjectManager コア インタフェースは新しい Boolean3 関連管理メソッドを公開します。
新しい Preset_Maker : modifier は、新しいアニメーション プリセット機能で使用されます。
新しい オフセット: floatController を使用すると、選択したアニメーション トラックの時間をシフトできます。
新しい インタフェース: OffsetManager は、アニメーション プリセットおよびオフセット アニメーションを作成して、シーン オブジェクトに適用するためのメソッドを公開します。
新しい Bezier_Point2 : Point2Controller は、Point2 アニメーション キーを格納するために使用されます。これは新しい Point2Controller スーパークラスから取得されます。
次の新しい関数を使用すると、アニメーション コントローラ内で値の変更を設定、復元、コミットできます。
次の新しい関数を使用すると、[コントローラを割り当て](Assign Controller)ダイアログでユーザがカスタマイズした既定のクラスを使用して、新しいコントローラを構築できます。
次の新しいプロパティを使用すると、以前にアニメートされなかったプロパティをアニメートするときに、既定のキー作成を有効/無効にしたり、既定のキーフレーム時間を設定できます。キーフレーム時間が 0 または 1 に制限されることはなくなりました。
新しい animateMode システム グローバル変数を使用すると、UI の[オート キー](Auto Key)ボタンの状態を変更しなくても、アニメーションを有効にできます。
新しい ART_Renderer : RendererClass は、新しい拡張レンダラーを MAXScript に公開します。
新しい ART_Renderer_Noise_Filter : RenderElement を使用すると、後処理を介して、ART_Render 出力イメージからノイズを削除できます。
新しい Sun_Positioner : light は、ART_Renderer に統合された新しい物理的なサンとスカイのシステムのライトおよびコントロール ギズモを実装します。
新しい Physical_Sun___Sky_Environment : textureMap は、Sun_Positioner の設定に基づいて物理的なサンとスカイのシステムをレンダリングする環境マップを実装します。
新しい colorMap : textureMap には、ソリッド カラーを任意のマップ スロットに簡単な方法で渡す機能があるため、独立したマテリアルおよびマップの間でカラー値をインスタンス化するなどの操作を実行できます。
新しい textMap : textureMap を使用すると、1 つまたは複数のテキスト プラス ジオメトリ オブジェクトからテクスチャ マップの手続き型作成を行うことができます。
新しい shapeMap : textureMap を使用すると、従来の文字シェイプなどの 1 つまたは複数のスプライン オブジェクトからテクスチャ マップの手続き型作成を行うことができます。
新しい MultiTile : textureMap は、UDIM、カスタム、Z-Brush、Mudbox 互換のマルチ タイル テクスチャのサポートを実装します。
新しい TextureObjMask : textureMap は、基本的なジオメトリ プリミティブに基づいて内側/外側または上/下のマスクをコントロールするためのテクスチャを実装します。
新しい インタフェース: NVIDIARenderersHelper コア インタフェースは、mental ray および iRay の DLL の有無を調べる関数を公開します。mental ray および iRay の DLL は現在はインストーラのオプションです。
新しい max_Shapemap : textureMap は、shapeMap テクスチャ マップを mental ray シェーダとして実装します。
新しい TextureObjMasktextureMap : textureMap は、textureObjMask テクスチャ マップを mental ray シェーダとして実装します。
インタフェース: colorMan には getColorTheme()および setColorTheme()の新しい関数があります。getColorSchemeType()および setColorSchemeType()関数は削除されました。
Button UI コントロール、Checkbox UI コントロール、Mapbutton UI コントロール、および Materialbutton UI コントロール – これらはすべて、イメージを表示するための構文が簡素化されました(iconName および iconSize 作成パラメータ)。
Windows 構造体 および systemTools 構造体内の関数の一部が、HDPI ディスプレイを処理するために、新しい applyUIScaling パラメータを取るようになりました。
次のシステム グローバルには、新しい「非スケール」バージョンがあります。
高 DPI ディスプレイのスケール係数を取得するための新しい関数: GetUIScaleFactor monitorID:<int>。
コマンド パネルに文字列が表示されていた場合に、そのサイズをピクセル単位で取得する新しい引数が、既存の関数に追加されました。<point2> getTextExtent <string> removeUiScaling<true> useQtTextWidth:<true>
getProperty()および setProperty()関数にオプションの removeUIScaling:<bool>/applyUIScaling:<bool> パラメータが追加されました。
Bitmap および imgTag クラスに新しい iconName:<filename> および iconSize:<point2> パラメータが追加されました。
imgTag 内の新しい getIconAsBitmap()関数は、ロードされたアイコンからビットマップを取得します。
dotNet Struct にアイコンをロードする新しい dotNet.loadIcon()関数が追加されました。
getColorSchemeType()および setColorSchemeType()関数は インタフェース: colorMan から削除されました。
新しい インタフェース: MaxThumbnailMgr コア インタフェースは、保存された .MAX ファイルを含むビューポート サムネイルの保存内容を公開します。
新しい インタフェース: IAutoCamMax コア インタフェースは、MAXScript に新しいビューポート ナビゲーションのピボット ボールを公開します。
新しい インタフェース: SceneConverter コア インタフェースは、シーン コンバータ システムおよびそのルールを設定するためのプロパティとメソッドを公開します。
次の新しい関数を使用すると、FBX 設定ダイアログをコントロールできます。
次の新しい関数を使用すると、GameExporter: UtilityPlugin で表される[ゲーム エクスポータ](Game Exporter)ダイアログの表示をコントロールできます。
次の新しい関数が systemTools 構造体に追加されました。
対応するプラットフォームが 3ds Max でサポートされていないため、次の関数が systemTools 構造体から削除されました。
新しい MXSCallstackCaptureEnabled コンテキストでは、MAXScript コールスタックのキャプチャ方法を詳細にコントロールできます。
新しい関数 <array>getLastMergedNodes() - 合成操作後に合成されたノードの配列を返します。
Stack()関数に新しい exlcudeOwner:<bool> パラメータが追加されました。
globalVars 構造体の globalVars.gather 関数にオプションのフィルタ関数パラメータが追加されました。
高度なデバッグをサポートする新しいその他の関数がいくつか追加されました。
新しい getMaxExtensionVersion() 関数は、現在の Extension のバージョン番号を返します。Extension がインストールされていない場合は、0 を返します。
新しい isValidValue() 関数は、値が削除されている場合は False を、値がまだ有効な場合は True を返します。
新しい refs.getAddr() メソッドを使用すると、任意の MaxObject のメモリ アドレスをポインタ値として取得できます。
次の新しい システム グローバルおよび関数を内部で使用すると、従属通知の最適化をコントロールしたり、関連する統計を収集できます。
OpenEXR : BitmapIO には次の新しい関数があります。
<maxObject>fopenxr.getRenderElementByLayer <integer>layer
<bool>fopenxr.getLayerEnabled <integer>layer
インタフェース: AssetManager には次の新しい関数があります。
<IObject>GetAssetById <&TSTR>assetid
指定されたアセット ID を持つアセットの AssetUser オブジェクトを返します。
次の FFD 関数で FFD スペースワープ オブジェクトがサポートされるようになりました。
MultiListBox、Listbox、Colorpicker、EditText、ComboBox、および Label UI コントロールでツールチップがサポートされるようになりました。
Slider UI コントロールに新しい高さ作成パラメータが追加されました。
callbacskaddScript #postImport および #postExport の callbacks.notificationParam()で、読み込み/書き込み対象のファイル名が返されるようになりました。
新しい convertKelvinToRGB() 関数は、指定した温度(ケルビン)の黒体放射に対応する RGB カラーを返します。
新しい mesh_weld_overlapping_vertices() 関数は、Editable_Mesh ベース オブジェクトの TriMesh 内のオーバーラップ頂点を連結します。
新しいスクリプト定義アニメーション コントローラ プラグインを使用すると、いくつかのコントローラ向けのスクリプト定義プラグインを MAXScript で記述できます。