共有

3ds Max 2024 の MaxScript の新機能

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

3ds Max 2024.2 Update の MAXScript の新機能

Conform モディファイヤ Conform : モディファイヤは、新しいコンフォーム モディファイヤ機能を MAXScript に公開します。
Data Channel モディファイヤ Data Channel モディファイヤには、スクリプトを使用してチャネル データを修正するための新しい MAXScript 処理オペレータがあります。
Python コールバック callbacks.addScript() 関数は、Python スクリプトであるfileName:キーワード引数を扱うことができるようになりました。
エディタの改善 スクリプト エディタで、選択した単語のすべてのインスタンスがハイライト表示されるようになりました。この動作は、[プロパティ ファイルの設定]の設定でコントロールできます。
quiet 引数の一貫性 importFile()exportFile()、および resetMaxFile() 関数がキーワード引数 quiet を取るようになりました。これは、quitMax() と一貫しています。
新しい thehold メンバー thehold 構造体に、[元に戻す] (Undo)ボタンと[やり直し] (Redo)ボタンを右クリックしたときに表示される文字列を取得するための 2 つの新しい関数 getUndoNames()getRedoNames() が追加されました。
アニメーション時間のスケーリング 新しい maxOps 関数 GlobalTimeScale() を使用すると、アニメーション キーのセグメントを再スケールできます。
LoadSaveAnimation の追加 LoadSaveAnimation インタフェースに、マップ ファイルとディレクトリを取得するための新しいメソッド getAnimFileDirectories()getMapFiles()getMultLoadAndMapFileFromDlg() が追加されました。
スクリプト エディタの[ファイル] (File)のコマンド スクリプト エディタの[ファイル] (File)メニューに、[パスをコピー](Copy Path) (現在のスクリプトのパスをクリップボードにコピーする)と[含まれているフォルダを開く](Open Containing Folder) (現在のスクリプトのフォルダを開く)という 2 つの新しいコマンドが追加されました。
Nitrous の設定 ビューポート内のテクスチャの表示をコントロールする既存の設定が、NitrousGraphicsManager インタフェース(<ViewportViewSettingImpl>.UseTextureEnabled<ViewportViewSettingImpl>.TextureSizeLimit<ViewportViewSettingImpl>.ProceduralTextureSizeLimit<ViewportViewSettingImpl>.BackgroundTextureSizeLimit)を介して MAXScript に公開されるようになりました。

3ds Max 2024.1 Update の MAXScript の新機能

シーン ファイル名の設定 新しい setSceneFileName() 関数を使用すると、現在のシーンのファイル名を設定または変更できます。
ディープ コピーの最適化 deepCopy() 関数に copyAllValuesAsUnique:boolean キーワード パラメータが追加され、true に設定するとパフォーマンスが向上するようになりました。
SSSE の状態を無視するキーワード safeExecute()safeReadValue()、および safeReadExpr() 関数に、ignoreSSSEState:<boolean> キーワード引数が追加され、true に設定すると、[セーフ シーン スクリプトの実行](Safe Scene Script Execution)の状態に関係なく、制限されたセキュリティ ポリシーが適用されるようになりました。
BitArray の等価性 BitArray 値に対する等価演算子 == および != が実装されました。
配列、辞書、DataPair の等価性 配列辞書、および DataPair の値を、deepEqual() 関数を使用して比較できるようになりました。
間隔 間隔値を作成する 2 つの新しいコンストラクタ オプション #forever#never が追加されました。
ユーザ プロパティ 2 つの新しい関数 getUserPropsAsDict() および setUserPropsAsDict() を使用することで、辞書の値を使用してノードのユーザ定義プロパティを取得および設定できるようになりました。
カラー変換 ColorPipelineMgr インタフェースに、カラー スペース間でカラー(Point4)を変換するための新しい ConvertColor() メソッドが追加されました。

また、カラー スペース間でビットマップを変換するための新しい colorConvert() グローバルメソッドも追加されました。
SME ファイル ドロップのコールバック スレート マテリアル エディタの SME インタフェースに、エディタにドラッグ アンド ドロップされたファイルをコールバックで処理できる新しい .fileDropCallback プロパティが追加されました。
[ブール演算] (Boolean)モディファイヤ 新しいインタフェース BooleanModifierInterface には、シーンが 3ds Max 2024 と互換性を持つようにキャッシングをオフにできる単一の .saveFinalResult プロパティがあります。
SME NodeView メソッド ノードを選択してレイアウトするための新しいメソッド GetSelectedSceneMaterials()GetAllSceneMaterials()、および LayoutAll()NodeView インタフェースに追加されました。

3ds Max 2024 の MAXScript の新機能

[ブール演算] (Boolean)モディファイヤ [ブール演算] (Boolean)モディファイヤの機能は、「BooleanMod: モディファイヤ」で公開されています。
カラー パイプライン マネージャのインタフェース 新しい ColorPipelineMgr インタフェースは、新しい OCIO カラー管理機能のプロパティとメソッド、および従来のガンマ モード カラー管理を表示します。
IDisplayGamma このインタフェースは廃止予定です。代わりに新しい ColorPipelineMgr インタフェースを使用する必要があります。IDisplayGamma インタフェースから、LUTFileNameaffectColorPickersaffectMEdit のプロパティが削除されました。colorCorrectionPrefMode から #LUT enum が削除されました。
カラー管理ビューポートの設定 カラー管理関連の設定用の新しいプロパティが、ViewportViewSettingImpl インタフェースに追加されました。追加されたのは、.ColorPipelineViewTransformEnabled.ColorPipelineAffectsBackground.ColorPipelineSceneLinearExposure.ColorPipelinePostDisplayGamma.ColorPipelineViewTransform.ColorPipelineDisplaySpace.ColorPipelineRenderingSpace です。

NitrousGraphicsManager に、 .ViewportColorPipelineOCIOBased および .ColorPipelineTargetFormat という新しい 2 つの設定が追加されました。
パススルー モディファイヤのオブジェクト タイプ EmptyModifier は、取り込むオブジェクトをスタック上のメッシュに変換しなくなりました。
ビットマップ値 ビットマップ オブジェクトには、新しいカラー管理サポートの一環として、複数の新しい読み取り専用アトリビュートが追加され、openBitmap() メソッドにオプションの新しい colorSpace: キーワード パラメータが追加されました。ビットマップ用の新しいメソッド validateColorSpace() および SetOutputColorConversion() もあります。
マテリアル スイッチャ 新しい Material_Switcher クラスは、新しいマテリアル スイッチャの機能を表示します。
合成マテリアル ノード スレート マテリアル エディタは、複雑なシェーダ グラフを収集および整理するための合成ノードをサポートするようになりました。この機能は、CompoundCompoundIOCompoundMember、および CompoundIndexedConnection インタフェースを使用して MAXScript に公開され、また、SME NodeView インタフェースには新しいメソッド PackageNodesIntoCompound()PackageSelectionIntoCompound()UnpackageCompound()EditCompound() があります。
その他の変更
SME 合成ノード スレート マテリアル エディタには、複雑なシェーダ グラフを単一のノード オブジェクトに結合できる新しい Compound ノードがあります。
エディタの表示設定 スクリプト エディタでエラーが発生した場合に、実行中のスクリプトを表示するかどうかを指定できるようになりました。この設定は、preferences.displayScriptEditorOnErrorscriptEditor.displayOnError で指定します。[基本設定] (Preferences) > [MAXScript]ダイアログ ボックスの[エラー時にエディタを表示](Display Editor On Error)でも指定できます。

新しい scriptEditor 構造体は、その他の 2 つのプロパティ(hwndisVisible)を表示します。
コントローラの削除 setPropertyController() を使用してコントローラ値を undefined に設定するか、<object>.<property>.<controller> を設定して、プロパティ コントローラを簡単に削除できるようになりました。
警告の表示設定 システム グローバル変数として、警告を表示する設定が 2 つ(preferences.displayTopoMessagepreferences.displayCollapseMessage)追加されました。
WindowStream ハンドル <WindowStream> 値に新しいプロパティ .hwnd が追加されました。このプロパティには、関連付けられている[スクリプト エディタ](Script Editor)ウィンドウのウィンドウ ハンドルが含まれます。
新しい windows 関数 windows struct に、複数の関数(windows.isWindow()windows.isWindowVisible()windows.showWindow()windows.getWindowPlacement()windows.setWindowPlacement()windows.setFocus()windows.setForegroundWindow()windows.getWindowLong()windows.setWindowLong())が追加されました。
windows 関数のパラメータ ウィンドウ操作の HWND 引数を受け取る windows struct 関数はすべて、RolloutFloater、Rollout、またはメインの 3ds Max ウィンドウ(名前 #max で指定)を受け取ることができるようになり、最初にウィンドウ ハンドルを照会しなくても、これらの種類のウィンドウを簡単に操作できるようになりました。
エラー トレースバックの無効化 新しい errTracebackDisabled システム グローバル変数は、リスナー ウィンドウのエラー トレースバックを無効にするかどうかを指定します。テスト目的または内部での使用に限ります。
変更ハンドラの有効化/無効化 <ChangeHandler> 値に新しい .enabled プロパティが追加され、ハンドラを有効にするかどうかを指定できるようになりました。これにより、ハンドラを登録解除または削除することなく、ハンドラを無効にすることができます。
Spinner UI コントロールのプロパティ Spinner UI コントロールに新しいプロパティ autoscale:<boolean> が追加され、既存の作成キーワード パラメータ(scale および type)が、ランタイム時に使用できるプロパティになりました。
Assert 関数 assert_eulerAngles_equal()assert_matrix_equal() という 2 つの新しい Assert 関数が追加されました。
[プレビューを作成](Make Preview)ダイアログ ボックス [プレビューを作成](Make Preview)ダイアログ ボックスに表示されない一部のパラメータ(dspCamViewNameautoPlayvpPresetvpStylevpEdgedFaces)が、createPreview() メソッドで指定できるようになりました。
外部参照の改良 objXRefMgr.AddXRefItemsFromFile() メソッドが新しいキーワード パラメータ objHandles を受け取るようになりました。このパラメータを使用して、合成するノード ハンドルの配列を指定することができます。xrefOptions パラメータに新しいオプション #mergeChildren が追加され、指定したオブジェクトの子を合成するかどうかを指定できるようになりました。

同じオプションを、mergeMaxFile() : #mergeChildren オプションと mergeByHandles パラメータでも使用できます。
ビューポート FixedViewportPipeline インタフェースには、SetViewportShadingFragment()RestoreDefaultShadingFragment() の 2 つの新しいメソッドが追加されました。SetShadingFragment() メソッドは廃止予定です。

NitrousGraphicsManager インタフェースには、SetDefaultViewShadeFragment()ResetDefaultViewShadeFragment() の 2 つの新しいメソッドが追加されました。
スクリプト プラグイン スクリプト プラグインには、オブジェクトのカスタム アトリビュートとして追加または削除する場合に使用される 2 つの新しいイベント ハンドラ on refAddedon refDeleted があります。
ファイル情報 新しい getMaxFileObjects() 関数は既存の getMaxFileObjectNames() 関数に似ていますが、ノード ハンドルを含むノード情報の配列を返します。

この情報は役に立ちましたか?