3ds Max 2017 の MaxScript の新機能

このトピックでは、3ds Max 2017 および 3ds Max 2017 Extension 1 の MAXScript 言語の変更および改善点についての概要を簡単に説明します。各機能の詳細については、ドキュメントの各ページのリンクをお読みください。

3ds Max 2017.1 Update

コレクション

新しい Dictionary Value クラスは、自動調整配列データ構造である、新しいコレクション タイプです。

DataPair Value クラスを永続グローバル変数内で指定できるようになりました。 シーン ファイルをロードするときに DataPair を完全に復元するには、DataPair 内の両方の値を永続グローバル変数として指定できる必要があります。

openLog コマンドに、ファイル キャッシュを無効にするための bufferedWrite パラメータを指定できるようになりました。

システム情報の追加

sysinfo.MAXpriority 列挙に、すべての Windows プロセス優先順位クラスをサポートするためのメンバが追加されました。#abovenormal#belownormal#backgroundBegin#backgroundEnd、および #realtime がこのリリースに追加されています。

ログ システムの追加

logsystem.logEntry 関数が、警告レベルを指定する enum 引数を取るようになりました。この関数は、下位互換性を維持するために引き続き bool 引数も取ります。

新しい logsystem.setLogLevel は、指定したログ レベルをオンまたはオフに設定します。

新しい logsystem.getLogLevel は、指定したログ レベルがオンまたはオフのいずれであるかを返します。

マテリアルとマップ

新しい BlendedBoxMap: TextureMap を使用すると、1 つまたは複数のオブジェクトにボックス マップを適用し、すべての側面からこれらをマッピングすることができます。ブレンド ボックス マップでは 90 度単位の 3 つの方向からイメージが投影され、マップ間のブレンド機能を使用してさらにシームレスな結果を生成することができます。

モデリング

Data_Channel: モディファイヤは、複雑なモデリング操作を自動化する新しいツールです。

ブール演算オブジェクトおよび関連インタフェース

新しい 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 レンダラー

新しい ART_Renderer : RendererClass は、新しい拡張レンダラーを MAXScript に公開します。

新しい ART_Renderer_Noise_Filter : RenderElement を使用すると、後処理を介して、ART_Render 出力イメージからノイズを削除できます。

物理的なサンとスカイ

新しい Sun_Positioner : light は、ART_Renderer に統合された新しい物理的なサンとスカイのシステムのライトおよびコントロール ギズモを実装します。

新しい Physical_Sun___Sky_Environment : textureMap は、Sun_Positioner の設定に基づいて物理的なサンとスカイのシステムをレンダリングする環境マップを実装します。

マテリアル

新しい PhysicalMaterial : Material は、新しい ART_Renderer レイトレーサで使用するために設計されました。

テクスチャ マップ

新しい colorMap : textureMap には、ソリッド カラーを任意のマップ スロットに簡単な方法で渡す機能があるため、独立したマテリアルおよびマップの間でカラー値をインスタンス化するなどの操作を実行できます。

新しい textMap : textureMap を使用すると、1 つまたは複数のテキスト プラス ジオメトリ オブジェクトからテクスチャ マップの手続き型作成を行うことができます。

新しい shapeMap : textureMap を使用すると、従来の文字シェイプなどの 1 つまたは複数のスプライン オブジェクトからテクスチャ マップの手続き型作成を行うことができます。

新しい MultiTile : textureMap は、UDIM、カスタム、Z-Brush、Mudbox 互換のマルチ タイル テクスチャのサポートを実装します。

新しい TextureObjMask : textureMap は、基本的なジオメトリ プリミティブに基づいて内側/外側または上/下のマスクをコントロールするためのテクスチャを実装します。

mental ray のシェーダおよびインタフェース

新しい インタフェース: NVIDIARenderersHelper コア インタフェースは、mental ray および iRay の DLL の有無を調べる関数を公開します。mental ray および iRay の DLL は現在はインストーラのオプションです。

新しい max_Shapemap : textureMap は、shapeMap テクスチャ マップを mental ray シェーダとして実装します。

新しい TextureObjMasktextureMap : textureMap は、textureObjMask テクスチャ マップを mental ray シェーダとして実装します。

HDPI サポート

Interface: colorMan には、getColorTheme() および setColorTheme() の新しい関数と、colorTheme の読み取り/書き込みプロパティがあります。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> パラメータが追加されました。

これらのメソッドにはオプションの applyUIScaling:<bool> パラメータがあります。

windows.getWindowPos 関数にはオプションの removeUIScaling:<bool> パラメータがあります。

Bitmap および imgTag クラスに新しい iconName:<filename> および iconSize:<point2> パラメータが追加されました。

imgTag 内の新しい getIconAsBitmap()関数は、ロードされたアイコンからビットマップを取得します。

dotNet Struct にアイコンをロードする新しい dotNet.loadIcon()関数が追加されました。

getColorSchemeType()および setColorSchemeType()関数は インタフェース: colorMan から削除されました。

コア インタフェース

新しい インタフェース: MaxThumbnailMgr コア インタフェースは、保存された .MAX ファイルを含むビューポート サムネイルの保存内容を公開します。

新しい インタフェース: IAutoCamMax コア インタフェースは、MAXScript に新しいビューポート ナビゲーションのピボット ボールを公開します。

新しい インタフェース: SceneConverter コア インタフェースは、シーン コンバータ システムおよびそのルールを設定するためのプロパティとメソッドを公開します。

[読み込み/書き出し](Import/Export)ダイアログのアクセス

次の新しい関数を使用すると、FBX 設定ダイアログをコントロールできます。

次の新しい関数を使用すると、GameExporter: UtilityPlugin で表される[ゲーム エクスポータ](Game Exporter)ダイアログの表示をコントロールできます。

デバッグのサポート

次の新しい関数が systemTools 構造体に追加されました。

対応するプラットフォームが 3ds Max でサポートされていないため、次の関数が systemTools 構造体から削除されました。

新しい MXSCallstackCaptureEnabled コンテキストでは、MAXScript コールスタックのキャプチャ方法を詳細にコントロールできます。

新しい関数 <array>getLastMergedNodes() - 合成操作後に合成されたノードの配列を返します。

Stack()関数に新しい exlcudeOwner:<bool> パラメータが追加されました。

globalVars 構造体globalVars.gather 関数にオプションのフィルタ関数パラメータが追加されました。

高度なデバッグをサポートするために、Try Expression と一緒にいくつかの新しい関数を使用できます。

新しい 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 スペースワープ オブジェクトがサポートされるようになりました。

MultiListBoxListboxColorpickerEditTextComboBox、および Label UI コントロールでツールチップがサポートされるようになりました。

Slider UI コントロールに新しい高さ作成パラメータが追加されました。

callbacskaddScript #postImport および #postExportcallbacks.notificationParam()で、読み込み/書き込み対象のファイル名が返されるようになりました。

[ビューに位置合わせ](Align to View)ダイアログを表示する新しい max コマンド max align to view が追加されました。

[変形可能 gPoly](Deformable gPoly)は廃止されて、削除されました。MAXScript で Turn_to_gPoly モディファイヤを使用できなくなりました。古いシーン ファイルとの下位互換性を維持するために、Deformable_gPoly クラスを引き続き使用できますが、このクラスを作成することはできません。

その他の関数

新しい convertKelvinToRGB() 関数は、指定した温度(ケルビン)の黒体放射に対応する RGB カラーを返します。

新しい mesh_weld_overlapping_vertices() 関数は、Editable_Mesh ベース オブジェクトの TriMesh 内のオーバーラップ頂点を連結します。

修正点

呼び出された dotNetMethod に文字列をパラメータとして渡した場合、文字列が切り捨てられなくなりました。

classofsuperclassof、および isKindOf 関数によって、ロールアウト コントロール クラスおよびインスタンスに関する適切な情報が報告されるようになりました。

3dx Max 2016 Extension 1 の新機能

新しいスクリプト定義アニメーション コントローラ プラグイン

新しいスクリプト定義アニメーション コントローラ プラグインを使用すると、いくつかのコントローラ向けのスクリプト定義プラグインを MAXScript で記述できます。

新しいテキスト プラス ツール

新しい テキスト プラス 新しいテキスト プラス ツールについては、GeometryClass クラスおよび関連する TextObject2 Mixin インタフェースで MAXScript に公開されています。