3ds Max 2021 および Update の MAXScript の新機能

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

注:

MAXScript リファレンスでは、3ds Max 2021 の MAXScript に追加されたすべての新機能に、3ds Max 2021 の 新機能: というマークが付いています。新機能という用語は、このページにリンクしています。

3ds Max 2021.3 Update の MAXScript の新機能

スタートアップ スクリプトのロード スタートアップ スクリプトのロード方法が変更されました。隠しファイルまたはシステム アトリビュートが設定されたスクリプト、または隠しフォルダまたはシステム フォルダ(%LocalAppData% および %ProgramData% 以外)にあるスクリプトは、起動時にロードされなくなります。
MAXScript ヒープ サイズ MAXScript ヒープ サイズの初期割り当てが 15 MBから 100 MBに増えました。これにより、リボンを開いているときのパフォーマンスが向上します。詳細については、「メモリの割り当てとガベージ コレクション」を参照してください。
ビューポートのブルーム設定 ブルーム設定が ViewportViewSettingImpl インタフェースに公開され、ドキュメント化されました。
Quicksilver レンダラー 新しく公開された反射とブルーム設定は、Quicksilver_Hardware_Renderer で対応しています。
サブディバイド モディファイヤ サブディバイド モディファイヤには 3 つの新しい再メッシュ アルゴリズムがあります。この機能は Subdivide:Modifier および subdivideSpacewarpModifier クラスに公開されています。
PBR 読み込み 新しい PBRImporter インタフェースには、PBR 読み込み機能の一部が公開されています。
コールバック情報 SceneFileEmebedded:true|false を使用してシーン ファイルからコールバックの定義がロードされた時点が、callbacks.show() 関数で示されるようになりました

3ds Max 2021.2 Update の MAXScript の新機能

スプライン面取りモディファイヤ Spline_Chamfer : モディファイヤは、新しいスプライン面取りモディファイヤ機能のプロパティを公開します。
スクリプト実行関数 executeScriptFile() 関数は、スクリプトファイルを実行して、生成される可能性のあるエラー メッセージを返す方法を提供します
これまでドキュメント化されていなかった項目 インタフェース: autosaveautosave.BailoutEnabled() および autosave.autoBackupNow() がドキュメント化されました。

インタフェース: NitrousGraphicsManager に、ShadedRenderMode を含む、いくつかの欠落していたプロパティがドキュメント化されました。このトピックは、更新された UI を反映して再編成されています。

3ds Max 2021.1 Update の MAXScript の新機能

コールバック管理

新しい関数を使用すると、いくつかのコールバック タイプを有効または無効にすることができます。

テクスチャにベイク処理

BakeToTexture : UtilityPlugin インタフェースに、追加機能をサポートする新しいメンバーが追加されました。

  • alwaysSkipExistingFiles
  • getOutputTo()/setOutputTo()
  • getNewMaterial()
  • getTargetMaterialSlots()
  • clearShellKeepBaked()/clearShellKeepOriginal()

BakeToTextureMap インタフェースに新しいメンバーが追加されました。

  • UDIMEnabled
  • UDIMFilePattern
  • getTargetMapSlot()
  • setTargetMapSlot()

正常にベイク処理されたファイルを保存するたびに、BakeToTexture.bake() に登録できるコールバックが呼び出されるようになりました。これにより、[テクスチャにベイク処理](Bake To Texture)機能で、複数のファイルを使用する形式(アニメートされたマップや UDIM タイルなど)がサポートされるようになりました。

既定のパラメータ管理

新しいインタフェースでパラメータの既定値 DefaultParamInterface を定義できます。

UI フォーカスとフォアグラウンドのコントロール

setFocus() 関数がロールアウトの HWND プロパティを取得できるようになりました。

新しい setForegroundWindow() 関数は setFocus() と似ていますが、指定した UI コンポーネントをフォアグラウンドに移動する処理も行います。

新しい assert 関数

デバッグ用の新しい assert 関数(assert_array_equal()assert_matchpattern()、および assert_bitarray_equal())が用意されています。新しい assert_float_equal()assert_float() と同じですが、わかりやすい名前になっています。

新しい createPreview() オプション

createPreview() 関数には、アニメーション プレビューでマルチパス カメラ効果を表示できる、新しい useMPCamEffect オプションがあります。

新しい FBX インポータ オプション

FBX インポータの新しい「PostSamplingKeyReducer」オプションは、変換後にアニメーション キーを削減するかどうかをコントロールします。

BigMatrix 行の値

浮動小数値の配列に BigMatrix 行の値を直接設定できるようになりました。

これまでドキュメント化されていなかった項目

registerDisplayFilterCallback() 関数が「選択フィルタと表示フィルタを追加する」に記載されるようになりました。

登録済みのコールバックを表示する次の関数が記載されるようになりました。

  • showregisteredTimeCallbacks()
  • showregisteredSelectFilterCallbacks()
  • showregisteredDisplayFilterCallbacks()
  • showregisteredRedrawViewsCallbacks()

createPreview() 関数の dspSpaceWarps オプションが記載されるようになりました。

3ds Max 2021 の MAXScript の新機能

[テクスチャにベイク処理](Bake to Texture)のサポート

BakeToTexture : UtilityClass は、新しい[テクスチャにベイク処理](Bake to Texture)機能を公開します。

MAXScript エディタの Python のサポート

Python 言語モードでは、タブ文字を入力すると、MAXScript エディタによってタブ文字ではなく 4 つのスペースが挿入されるようになりました。これは、PEP-0008 に準拠しています。

プラグイン パッケージ マネージャの追加

PluginPackageManager インタフェースには、シーン コンバータ、OSL、および AMG パスに関する情報を返す新しいメソッドがあります。

  • GetSceneConverterFoldersCount()
  • GetSceneConverterFolderFullPath()
  • GetOSLFoldersCount()
  • GetOSLFolderFullPath()
  • GetAMGFoldersCount()
  • GetAMGFolderFullPath()

コールバックの変更

callbacks.addScript() メソッドは、2 番目のパラメータとして関数を取れるようになりました。以前は、String、StringStream、または filename を指定する必要がありました。

重み付けされた法線モディファイヤ

新しい[重み付けされた法線](Weighted Normals)モディファイヤが Weighted_Normals : Modifier クラスに公開されました。

ATF ベースの読み込み

Autodesk Translation Framework (ATF)ベースの読み込みプラグインには、MAXScript に公開されている追加の機能として、.ImportHiddenObjects および .PreserveLayers があります。これは以下に適用されます。

スクリプト プラグイン

スクリプト プラグイン パラメータはオプションの localizedName 文字列を使用できるようになりました。この文字列は、UI にパラメータを表示するときに(パラメータ名の代わりに)使用されます。

ロールアウトの表示設定

ロールアウトに、ダイアログボックスに表示されるときに表示するかどうかをコントロールする visible プロパティが新たに追加されました。

2 つの新しいユーティリティ関数ParamTypeToTypeName() および TypeNameToParamType() を使用すると、C++ SDK から、パラメータ タイプ名の値を対応する列挙整数表現に変換でき、その逆も可能です。

for ループ インデックス変数

for ループは、フィルタ処理されたリスト操作とフィルタ処理されていないリスト操作を処理するオプションのインデックス引数を取れるようになりました。

SME マテリアル ライブラリ メソッド

マテリアル ライブラリを操作する機能を公開するために、SME インタフェースに、複数の新しいメソッドが追加されました。

  • OpenMtlLib()
  • HasMtlLib()
  • IsMtlLibModified()
  • SaveMtlLib()
  • SaveMtlLibAs()
  • CloseMtlLib()

edit_poly モディファイヤの面取りの機能強化

edit_poly モディファイヤの面取りの改善点が新しいプロパティで公開されました。

  • edgeChamferMiteringType (廃止された edgeChamferType および edgeChamferQuadIntersections を置き換えます)
  • chamferVertexDepth
  • chamferVertexSegments
  • chamferVertexSmooth
  • chamferVertexSmoothThreshold
  • chamferVertexSmoothType
  • edgeChamferDepth
  • edgeChamferEndBias
  • edgeChamferMiteringType
  • edgeChamferRadialBias

最大メモリ ヒープ使用率

新しい sysinfo.getMAXHeapUsed() 関数は、3ds Max が使用しているヒープ メモリの量を返します。

スクリプト カスタム アトリビュートのロード コールバック

custAttributes 構造に新しい関数が追加されました。これは、シーン ファイルからロードされるときに定義を変更するために登録できるコールバックの管理に役立ちます。

  • custAttributes.registerDefLoadCallback()
  • custAttributes.unRegisterDefLoadCallback()
  • custAttributes.unRegisterAllDefLoadCallbacks()
  • custAttributes.showregisteredDefLoadCallbacks()

ドキュメントの変更点

アクティブ セグメントの正規時間リテラル形式は、これまでのいくつかのリリースでサポートされていません。また、時間値および時間リテラルのトピックから削除されました。

廃止予定および削除された項目

<ViewportViewSettingImpl>.DefaultLightsFollowCamera プロパティが NitrousGraphicsManagerインタフェースから削除されました。

これまでドキュメント化されていなかった項目

ロードされたシーンまたは合成されたシーンとの競合が発生した場合に、スクリプト カスタム アトリビュート定義の管理方法を管理するために使用される custAttributes 構造体の関数について、スクリプト カスタムアトリビュート定義の競合の処理に記載されました。

dspFrameNums キーワード引数が createPreview() メソッドに追加されました。