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

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

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 の新機能

コールバック管理 新しい関数で、次に示す一部のコールバック タイプを有効または無効にできるようになりました。時間変更コールバック: timeCallbacksEnabled()enableTimeCallbacks()disableTimeCallbacks()ビューポート再描画コールバック: redrawViewsCallbacksEnabled()enableRedrawViewsCallbacks()disableRedrawViewsCallbacks()選択フィルタ コールバック: selectFilterCallbacksEnabled()enableSelectFilterCallbacks()disableSelectFilterCallbacks()表示フィルタ コールバック:displayFilterCallbacksEnabled()enableDisplayFilterCallbacks()disableDisplayFilterCallbacks()
テクスチャにベイク処理 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 : UtilityPlugin は、新しい[テクスチャにベイク処理](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 があります。この機能の適用先は、次のとおりです。ATF_Alias_importerATF_CATIA_V4_importerATF_CATIA_V5_importerATF_IGES_importerATF_JT_importerATF_ProE_importerATF_SKETCHUP_ImportATF_Solidworks_importerATF_STEP_importerATF_UG_NX_importer
スクリプト プラグイン スクリプト プラグイン パラメータにオプションの localizedName 文字列を使用できるようになりました。この文字列は、UI にパラメータを表示するときに(パラメータ名の代わりに)使用されます。
ロールアウトの表示設定 ロールアウトに、ダイアログ ボックスに表示されるときに表示するかどうかをコントロールする visible プロパティが新たに追加されました。2 つの新しいユーティリティ関数ParamTypeToTypeName() および TypeNameToParamType() を使用すると、C++ SDK から、パラメータ タイプ名の値を対応する列挙整数表現に変換できます。その逆も可能です。
for ループ インデックス変数 for ループで、フィルタ処理されたリスト操作とフィルタ処理されていないリスト操作を処理するオプションのインデックス引数を使用できるようになりました。
SME マテリアル ライブラリ メソッド マテリアル ライブラリを操作する機能を公開するために、SME インタフェースに、複数の新しいメソッド(OpenMtlLib()``HasMtlLib()``IsMtlLibModified()``SaveMtlLib()``SaveMtlLibAs()``CloseMtlLib())が追加されました。
edit_poly モディファイヤの面取りの機能強化 edit_poly モディファイヤの面取りの改善点が新しいプロパティ edgeChamferMiteringType で公開されました(現在は廃止されている edgeChamferTypeedgeChamferQuadIntersections を置き換えます)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() メソッドに追加されました。