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
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
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
[Datasmith Messages] ウィンドウに情報タイプのメッセージのログを記録します。情報メッセージはグレーで表示されます。
| パラメータ | 型 | 説明 |
|---|---|---|
<msg> |
文字列 | [Datasmith Messages] ウィンドウに出力するメッセージ |
例: Datasmith_LogInfo "this is an Info message"
Datasmith_LogWarning
[Datasmith Messages] ウィンドウに警告タイプのメッセージのログを記録します。警告メッセージは黄色で表示されます。
| パラメータ | 型 | 説明 |
|---|---|---|
<msg> |
文字列 | [Datasmith Messages] ウィンドウに出力するメッセージ |
例: Datasmith_LogInfo "this is a Warning message"
Datasmith_LogError
[Datasmith Messages] ウィンドウにエラータイプのメッセージのログを記録します。エラー メッセージは赤色で表示されます。
| パラメータ | 型 | 説明 |
|---|---|---|
<msg> |
文字列 | [Datasmith Messages] ウィンドウに出力するメッセージ |
例: Datasmith_LogInfo "this is an Error message"
Datasmith_LogCompletion
[Datasmith Messages] ウィンドウに完了タイプのメッセージのログを記録します。完了メッセージは緑色で表示されます。
| パラメータ | 型 | 説明 |
|---|---|---|
<msg> |
文字列 | [Datasmith Messages] ウィンドウに出力するメッセージ |
例: Datasmith_LogInfo "this is a Completion message"
Datasmith_LogFlush()
メモリのキューに入れられているログ メッセージをログ ファイルに書き込みます。ログ ファイルは「%LOCALAPPDATA%\UnrealDatasmithExporter\Saved\Logs」ディレクトリに格納されます。
.udatasmith ファイルをエクスポートする
Datasmith_ExportDialog()
Datasmith ファイルのエクスポート ダイアログを開きます。このダイアログで、エクスポートされた .udatasmith ファイルの名前とパスを指定できます。
Datasmith_Export selected:[boolean] quiet:[boolean]
Datasmith ファイルのエクスポート ダイアログを開くことなく、3ds Max のモデルまたは選択項目を .udatasmith ファイルとしてエクスポートします。
このメソッドは以下の引数をとります。
| パラメータ | 型 | 説明 | 任意/必須 |
|---|---|---|---|
name |
文字列 | エクスポートするファイルの名前 (ファイル拡張子は含まない)。 | 必須 |
path |
文字列 | ファイルのエクスポート先のディレクトリのフル パス。 | 必須 |
selected: |
ブール | Datasmith がシーン全体をエクスポートするか、現在選択されているオブジェクトのみをエクスポートするかを指定します。
|
任意 |
quiet: |
ブール |
|
任意 |
例:
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
Direct Link または Direct Link Auto Sync を使用してシーンを同期するときに、Datasmith が [Datasmith Messages] ウィンドウに統計情報を出力するかどうかを指定します。
true:Datasmith が [Datasmith Messages] ウィンドウに統計情報を出力します。false:Datasmith は統計情報を出力しません。
Datasmith_SetAutoSyncDelay
Direct Link Auto Sync の状態を確認するタイマーの間隔を指定します。
このメソッドは以下の引数をとります。
| パラメータ | 型 | 説明 |
|---|---|---|
<seconds> |
float | Auto Sync の状態を確認する間隔を秒単位で指定します。 |
Datasmith_SetAutoSyncIdleDelay
Direct Link Auto Sync が有効になっている場合は、Datasmith が Direct Link Auto Sync を試みる前に、ユーザーがアイドル状態である必要のある最短の時間を指定します。
このメソッドは以下の引数をとります。
| パラメータ | 型 | 説明 |
|---|---|---|
<seconds> |
float | Datasmith が Direct Link Auto Sync を試行する前に、ユーザーがアイドル状態である必要のある期間 (秒単位)。 |
Datasmith_UpdateScene quiet:[boolean]
3ds Max 用 Datasmith エクスポータ プラグインのシーンの表現を現在の 3ds Max のシーンに一致するように更新します。
前回の更新以降にシーンが変更された場合は true、その他の場合は false を返します。
3ds Max リボンの [Datasmith] タブで Synchronize コマンドを使用すると、Datasmith はまずこのコマンドを呼び出します。このコマンドで変更が検出されると Datasmith_DirectLinkUpdateScene() を呼び出します。
このメソッドは以下の引数をとります。
| パラメータ | 型 | 説明 | 任意/必須 |
|---|---|---|---|
quiet: |
ブール |
|
任意 |
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 エクスポータ プラグインのシーンの表現をリセットします。