3ds Max 用 Datasmith エクスポータ プラグインをインストールすると、MAXScript 環境に小さな Datasmith_Export
インターフェースが追加されます。このインターフェースを使用すると、3ds Max シーンを .udatasmith
ファイルにエクスポートするプロセスを自動化できるため、手動でシーンをエクスポートする必要がありません。このページでは、Datasmith_Export
インターフェースによって公開されるメソッドについて説明します。
Datasmith 3ds Max エクスポート スクリプトの構文は、バージョン 5.1 から変更されます。5.1 より前のバージョンで書かれたスクリプトは、バージョン 5.1 では動作しません。既存のスクリプトは、このページで説明する新しい構文を使用して書き直すことができます。
このページに記載されているメソッドのいくつかは、3ds Max リボンの [Datasmith] タブにあるコマンドに対応しています (「3ds Max リボン」を参照)。MAXScript でメソッドを呼び出しても、リボン内の対応するコマンドのユーザー インターフェースがすぐに更新されない場合があります。ユーザー インターフェースを更新するには、3dsMax リボンの他のタブを選択してから、[Datasmith] タブを選択してください。
エクスポート オプションを取得および設定する
Datasmith_GetExportOption_AnimatedTransforms()
Datasmith がアニメーション タイムライン全体をエクスポートするように設定されている場合は true
、現在のフレームのみをエクスポートするように設定されている場合は false
を返します。
Datasmith_SetExportOption_AnimatedTransforms <boolean>
Datasmith がアニメーション タイムライン全体をエクスポートするか、現在のフレームをエクスポートするかを指定します。
true
:Datasmith は、アニメーション タイムライン全体をエクスポートします。false
:Datasmith は、現在のフレームのみをエクスポートします。
Datasmith_GetExportOption_TextureResolution()
Datasmith がエクスポートするベイクされたプロシージャル テクスチャの現在の解像度制限のインデックス値を返します。各値は、エクスポートされたテクスチャの特定の幅/高さに関係なく、ターゲットの解像度のピクセル数に一致します。
値 |
解像度 |
---|---|
0 |
4,096 ピクセル |
1 |
16,384 ピクセル |
2 |
65,536 ピクセル |
3 |
0.25 メガピクセル |
4 |
1 メガピクセル |
5 |
4 メガピクセル |
6 |
16 メガピクセル |
ベイクされたプロシージャル テクスチャの解像度制限の詳細については、「プロシージャル テクスチャ」を参照してください。
Datasmith_SetExportOption_TextureResolution <index>
Datasmith がエクスポートする、ベイクされたプロシージャル テクスチャの最大解像度を指定します。0 ~ 6 の値を指定できます。各値は、エクスポートされたテクスチャの特定の幅/高さに関係なく、ターゲットの解像度のピクセル数に一致します。
値 |
解像度 |
---|---|
0 |
4,096 ピクセル |
1 |
16,384 ピクセル |
2 |
65,536 ピクセル |
3 |
0.25 メガピクセル |
4 |
1 メガピクセル |
5 |
4 メガピクセル |
6 |
16 メガピクセル |
ベイクされたプロシージャル テクスチャの解像度制限の詳細については、「プロシージャル テクスチャ」を参照してください。
例:
Datasmith_SetExportOption_TextureResolution 4
ベイクされた/プロシージャル テクスチャの最大解像度を 100 万ピクセル (すなわち、1 メガピクセル) に設定します。
[Datasmith Messages (Datasmith メッセージ)] ウィンドウにメッセージのログを記録する
以下のコマンドを使用すると、[Datasmith Messages] ウィンドウにカスタム メッセージのログを記録することができます。タイプごとに、メッセージを表示する色が異なります。
メッセージ タイプ |
色 |
---|---|
情報 |
グレー |
警告 |
黄 |
エラー |
赤 |
完了 |
緑 |
Datasmith_LogInfo <msg>
[Datasmith Messages] ウィンドウに情報タイプのメッセージのログを記録します。情報メッセージはグレーで表示されます。
パラメータ |
型 |
説明 |
---|---|---|
|
文字列 |
[Datasmith Messages] ウィンドウに出力するメッセージ |
例: Datasmith_LogInfo "this is an Info message"
Datasmith_LogWarning <msg>
[Datasmith Messages] ウィンドウに警告タイプのメッセージのログを記録します。警告メッセージは黄色で表示されます。
パラメータ |
型 |
説明 |
---|---|---|
|
文字列 |
[Datasmith Messages] ウィンドウに出力するメッセージ |
例: Datasmith_LogInfo "this is a Warning message"
Datasmith_LogError <msg>
[Datasmith Messages] ウィンドウにエラータイプのメッセージのログを記録します。エラー メッセージは赤色で表示されます。
パラメータ |
型 |
説明 |
---|---|---|
|
文字列 |
[Datasmith Messages] ウィンドウに出力するメッセージ |
例: Datasmith_LogInfo "this is an Error message"
Datasmith_LogCompletion <msg>
[Datasmith Messages] ウィンドウに完了タイプのメッセージのログを記録します。完了メッセージは緑色で表示されます。
パラメータ |
型 |
説明 |
---|---|---|
|
文字列 |
[Datasmith Messages] ウィンドウに出力するメッセージ |
例: Datasmith_LogInfo "this is a Completion message"
Datasmith_LogFlush()
メモリのキューに入れられているログ メッセージをログ ファイルに書き込みます。ログ ファイルは「%LOCALAPPDATA%\UnrealDatasmithExporter\Saved\Logs
」ディレクトリに格納されます。
.udatasmith ファイルをエクスポートする
Datasmith_ExportDialog()
Datasmith ファイルのエクスポート ダイアログを開きます。このダイアログで、エクスポートされた .udatasmith
ファイルの名前とパスを指定できます。
Datasmith_Export <name> <path> selected:[boolean] quiet:[boolean]
Datasmith ファイルのエクスポート ダイアログを開くことなく、3ds Max のモデルまたは選択項目を .udatasmith
ファイルとしてエクスポートします。
このメソッドは以下の引数をとります。
パラメータ |
型 |
説明 |
任意/必須 |
---|---|---|---|
|
文字列 |
エクスポートするファイルの名前 (ファイル拡張子は含まない)。 |
必須 |
|
文字列 |
ファイルのエクスポート先のディレクトリのフル パス。 |
必須 |
|
ブール |
Datasmith がシーン全体をエクスポートするか、現在選択されているオブジェクトのみをエクスポートするかを指定します。
|
任意 |
|
ブール |
|
任意 |
例:
Datasmith_Export "DatasmithExportName" "D:\DatasmithExports\3dsMax" selected:true quiet:true
この例では、選択したオブジェクトを D:\DatasmithExports\3dsMax
パスにある DatasmithExportName という名前の .udatasmith
ファイルとして自動的にエクスポートします。この際、進捗バーやその他のエクスポート UI は表示されません。
Direct Link および Direct Link Auto Sync
Datasmith_OpenDirectlinkUi()
[Datasmith Direct Link Connection Status (Datasmith Direct Link 接続ステータス)] ウィンドウを開きます。
Datasmith_GetDirectlinkCacheDirectory()
Direct Link Cache Directory へのパスを返します。[Datasmith Direct Link Connection Status] ウィンドウからパスを取得することもできます。
Datasmith_GetUnrealEnginePath()
Datasmith_GetUnrealEnginePathFromRegistry()
これらのメソッドは、DirectLink を介して接続されたインストール済みの Unreal Engine へのパスを返します。Datasmith_GetUnrealEnginePath()
は Datasmith_GetUnrealEnginePathFromRegistry()
を呼び出し、レジストリに格納されているパスを返します。レジストリにパスが格納されていない場合は、デフォルトのハードコード化されている次のパスが返されます。C:/ProgramData/Epic/Exporter/3dsMaxEngine/
.
Datasmith_ToggleAutoSync()
Direct Link Auto Sync の有効/無効を切り替えます。Datasmith_IsAutoSyncEnabled()
を使用して、自動同期が現在有効であるかどうかを確認します。
Datasmith_IsAutoSyncEnabled()
Direct Link Auto Sync が現在有効である場合は true、その他の場合は false を返します。
Datasmith_GetExportOption_StatSync()
Direct Link または Direct Link Auto Sync を使用してシーンを同期するときに、Datasmith が [Datasmith Messages] ウィンドウに統計情報を出力するように設定されている場合は true
、その他の場合は false
を返します。
Datasmith_SetExportOption_StatSync <boolean>
Direct Link または Direct Link Auto Sync を使用してシーンを同期するときに、Datasmith が [Datasmith Messages] ウィンドウに統計情報を出力するかどうかを指定します。
true
:Datasmith が [Datasmith Messages] ウィンドウに統計情報を出力します。false
:Datasmith は統計情報を出力しません。
Datasmith_SetAutoSyncDelay <seconds>
Direct Link Auto Sync の状態を確認するタイマーの間隔を指定します。
このメソッドは以下の引数をとります。
パラメータ |
型 |
説明 |
---|---|---|
|
float |
Auto Sync の状態を確認する間隔を秒単位で指定します。 |
Datasmith_SetAutoSyncIdleDelay <seconds>
Direct Link Auto Sync が有効になっている場合は、Datasmith が Direct Link Auto Sync を試みる前に、ユーザーがアイドル状態である必要のある最短の時間を指定します。
このメソッドは以下の引数をとります。
パラメータ |
型 |
説明 |
---|---|---|
|
float |
Datasmith が Direct Link Auto Sync を試行する前に、ユーザーがアイドル状態である必要のある期間 (秒単位)。 |
Datasmith_UpdateScene quiet:[boolean]
3ds Max 用 Datasmith エクスポータ プラグインのシーンの表現を現在の 3ds Max のシーンに一致するように更新します。
前回の更新以降にシーンが変更された場合は true
、その他の場合は false
を返します。
3ds Max リボンの [Datasmith] タブで Synchronize コマンドを使用すると、Datasmith はまずこのコマンドを呼び出します。このコマンドで変更が検出されると Datasmith_DirectLinkUpdateScene()
を呼び出します。
このメソッドは以下の引数をとります。
パラメータ |
型 |
説明 |
任意/必須 |
---|---|---|---|
|
ブール |
|
任意 |
Datasmith_DirectLinkUpdateScene()
3ds Max 用 Datasmith エクスポータ プラグインのシーンの表現を Datasmith Direct Link 経由で Unreal Engine と同期させます。シーンの変更の追跡を設定します。
3ds Max リボンの [Datasmith] タブで Synchronize コマンドを使用すると、Datasmith はまず Datasmith_UpdateScene() を呼び出します。変更を検出すると、このメソッドを呼び出します。
詳細については、「Datasmith 3ds Max UI (Datasmith 3ds Max の UI)」および「Synchronizing 3ds Max and Unreal with Direct Link (Direct Link を使用して 3ds Max と Unreal を同期する)」の [File Export (ファイルのエクスポート)] パネルを参照してください。
Datasmith_Reset()
シーンの変更の追跡を停止し、3ds Max 用 Datasmith エクスポータ プラグインのシーンの表現をリセットします。