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

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

3ds Max 2019.3 Update の新機能

ビューポート ActiveShade モード

ActiveShadeFragmentManager インタフェースを使用すると、MAXScript から、新しいビューポート ActiveShade 表示モードにアクセスすることができます。

カスタム アトリビュート コンテナの所有者

MAXWrapper.custattributes によって返されるカスタム アトリビュート配列で、所有元のオブジェクトが格納されている新しいプロパティ .owner が公開されています。

ノード イベント システムの変更点

登録されている NodeEventCallbacks の情報を取得する 2 つの新しい関数 getNodeEvents() および showNodeEvents() が追加されました。NodeEventCallbackValue に新しい処理オプション polling が追加されました。このオプションは、新しい triggerNodeEventCallback() 関数からコールバックをトリガできることをシステムに通知します。

出力を配列としてフォーマットする、一般的なイベント コールバック検査関数 asArray: のキーワード引数。

3ds Max プロセスの情報

sysinfo 構造体に、3ds Max プロセスに関する情報を取得する 3 つの新しい関数 getMAXHandleCount()getMAXUserObjectCount()、および getMAXGDIObjectCount() が追加されました。

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

  • 3dsmax.ini 設定ファイルへのアクセスを可能にする cfgMgr 構造体がドキュメント化されました。
  • isDeleted <MAXWrapper> 関数および MAXWrapper.isDeleted プロパティがドキュメント化されました。これらは、MAXWrapper が削除されているかどうかを示します。
  • <XRefScene>.overlay プロパティがドキュメント化されました。
  • editPolyModReadyToBridge() 関数がドキュメント化されました。

3ds Max 2019.2 Update の新機能

流体ローダ

MAXScript で、FluidLoader クラスにアクセスして、作成できるようになりました。このクラスは、流体ローダ ジオメトリ オブジェクトを公開します。

スクリプト ロードの検出

新しい getMaxscriptStartupState() 関数を使用すると、標準スクリプトおよびスタートアップ スクリプトのロード状態を判別できます。これに対応する新しい #preStartupScriptLoad イベントが、スタートアップ スクリプトを実行する直前に呼び出されます。

テクスチャマップの UV 範囲のレンダリング

renderMap() 関数には、レンダリングする UV 範囲を指定する追加の range パラメータと、プロキシ システムを無効にする新しい disableBitmapProxies パラメータがあります。

Max の情報

  • maxVersion() 関数に、リリース年および製品バージョンの項目が追加されました。
  • sysinfo 構造内の新しい関数( getCommandLine() および getCommandLineArgs())は、Max を起動したコマンド ラインに関する情報を返します。
  • SystemTools.isDebugBuild() は、現在実行中の 3ds Max がデバッグ ビルドであるのか、それともリリース ビルドであるのかを示す新しい関数です。

ルート ノードのユーザ プロパティ

get/setUserProp/val/buffer()deleteUerProp()、および doesUserPropExist() 関数が特殊な rootNode パラメータを認識するようになり、シーンのルート ノードのユーザ プロパティへのアクセスが許可されるようになりました。このパラメータには、外部参照ファイルの .tree プロパティに保持される、外部参照のルート ノードを指定することもできます。

レイヤ マネージャ経由のノードの追加

LayerProperties インタフェースに、新しいメソッド addNodes() が含まれています。このメソッドは addNode() と同様に機能しますが、ノードの配列を取るため、ユーザは 1 回の呼び出し内で複数のノードを追加することができます。

SkinOps の変更

SkinOps 構造体には、SetBoneWeights()Hammer() の 2 つの新しい関数が含まれています。さらに、以前はモディファイヤの UI を選択する必要があった多くの関数が、オプションの node:<node> または name:<string> 引数を取るようになりました。この引数を指定した場合は、ノードが選択されていなくても、指定したノードにこの引数が適用されます。

Alembic 読み込みファイル検査メソッド

AlembicImport Import Plugin から GetABCNodeType()GetABCNodeDataType()GetABCNodeExtent()、および IsPropertyNode() のメソッドが削除されました。GetABCNodeProperties()GetNumProperties()GetChildPropertyFromIndex()GetChildPropertyFromName()GetPropertyType()GetPropertyDataType()、および GetPropertyExtent() のメソッドは新しいメソッドに置き換えられました。

その他の変更点

  • 定義済みのグローバル変数 noValue の名前が silentValue に変更されて、内容を正確に示すようになりました。

削除された項目

3ds Max 2018.2 UpdateUnwrap_UVW モディファイヤから削除された同期モード関連の項目(setSyncSelectionMode()getSyncSelectionMode()syncTVSelection()、および syncGeomSelection())がドキュメントから削除されました

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

  • MaxLiquidSolver で使用されるインタフェース: ParticleCache がドキュメント化されました。
  • これまでドキュメント化されなかった、インタフェース pluginManager 内のプロパティおよびメソッドの一部についての説明が追加されました。
  • max group open recursively max コマンドがドキュメント化されました。

3ds Max 2019.1 Update の新機能

ファイルのアーカイブ

[ファイル] (File) > [アーカイブ] (Archive)コマンドが、MAXScript で archiveMAXFile() として公開されました。

XRefObject の再ペアレント化

xrefs.addNewXRefObject() メソッドには、外部参照の再ペアレント化の処理方法を指定する新しい reparentAction パラメータが含まれています。

objXRefs.addNewXRefObject() メソッドには、外部参照の再ペアレント化の処理方法を指定する新しいフラグ ビットが含まれています。

改善されたバージョン情報

maxversion() 関数はビルド番号を返すようになり、SystemTools.GetBuildNumber() から返される情報と一貫性が保たれるようになりました。

SystemTools 構造体に、新しい関数 が追加されました。

ノードのユーザ定義プロパティ メソッド

getUserPropVal() および setUserPropVal() の 2 つの新しいメソッドで、ユーザ定義ノードのプロパティの保存方法や取得方法を詳細にコントロールできます。doesUserPropExist() メソッドは、ユーザ定義ノードのプロパティの有無を調べます。deleteUserProp() はユーザ定義ノードのプロパティを削除します。

Alembic 読み込みファイル検査メソッド

AlembicImport 読み込みプラグインに、Alembic ファイルの検査機能を公開する新しいメソッドがいくつか追加されました。

FBX 書き出しアニメーションのオプション

FBX の書き出しには、「ExportAnimationOnly」という新しいパラメータが用意されています。

流体

ボリューム ヘルパー オブジェクトは VolumeHelper : Helper クラスとして公開されています。

その他

  • テスト用のランダム データを作成するための、その他の新しい関数 createFloatControllerWithRandomValues() が追加されました。
  • シーンの圧縮設定が maxOps インタフェース メソッド getCompressSceneFileOnSave() および setCompressSceneFileOnSave() で公開されるようになりました。

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

3ds Max 2019 の新機能

高度な木目

[高度な木目](Advanced Wood)手続き型テクスチャ マップが Advanced_Wood: TextureMap マップとして公開されています。

OSL

Open Shading Language (OSL)が 3ds Max でサポートされるようになりました。数多くの新しい OSL シェーダが使用可能になるとともに、既存のシェーダのロードや変更、または新しいシェーダの作成に使用できる汎用 OSLMap クラスが含まれています。

シェイプのブール演算

ShapeBooleanObject クラスで、新しいシェイプのブール演算機能が公開されています。

Alembic の読み込みと書き出し

Alembic の読み込みおよび書き出しプラグインが改善され、Alembic_Import: Importer_Plugin および Alembic_Export: ExporterPlugin 内で新しいプロパティやメソッド、または変更されたプロパティやメソッドとして公開されています。

カスタム シーン ファイルのデータ ストリーム

3ds Max シーン ファイルに対してカスタム データの書き込みと読み取りを行えるようになりました。MAXScript では、この機能は次のメソッドで公開されています。

ロールアウトのサイズ変更に関する変更

ロールアウトおよびロールアウト フロータのサイズが変更されている場合に、レイアウトの自動再計算がサポートされるようになりました。これにより、コマンド パネルを任意のサイズに設定できるようになったため、コマンド パネルにドッキングされている場合にサイズを変更することができます。変更内容は次のとおりです。

  • 新しい autoLayoutOnResize: <boolean> パラメータが CreateDialog()newRolloutFloater()、およびロールアウトとサブロールアウトの仕様に追加されました。
  • ロールアウトrolloutFloater および autoLayoutOnResize という新しいパラメータが追加されました。
  • 新しい SetDialogSize() および updateRolloutLayout() が追加されました。
  • ボタンおよび CheckButton UI コントロールに .height および .width プロパティが追加されました。
  • 新しい applyUiScaling: <boolean> キーワード引数が setDialogPos() に追加されました。

peristents.show() のストリーム パラメータ

persistents.show() メソッドに、出力の転送先となる新しい to:<stream> パラメータが追加されました。

deepCopy() の変更

DictionariesDataPairs、および Structures、さらに Arrays。このメソッドは、コピーしたオブジェクトの中に、1 つの値に対して 2 つの参照が含まれている場合、この値のコピーが 1 つだけ作成されるように最適化されています。つまり、返されるオブジェクトには(以前の動作のように) 2 つのコピーが含まれるのではなく、1 つの値に対する 2 つの参照が含まれます。

デモンストレーションの拡張機能

MAXScript エディタ内でオートコンプリートを有効にする手順がドキュメント化されました。

前リリースの新機能

前リリースの新機能」を参照してください。

www.flaticon.com から Freepik によって作成されたアイコン