World Partition では、UWorldPartitionBuilderCommandlet と UWorldPartitionBuilder 基本クラスによるビルダー コマンドレット フレームワークを導入しています。
これらのコマンドレットを使用して、バッチ プロセスを自動化したり、World Partition レベルでデータを生成または変更したりできます。 HLOD、AI Nav Data の生成、多数のアクタの再保存などを実行するため、大規模なワールドは一度にすべてをロードする必要はありません。
World Partition HLODs Builder
HLOD は World Partition HLODs Builder コマンドレットを使用して生成されます。 このコマンドレットを実行すると、HLOD レイヤーで指定した生成設定に従って、World Partition セルの HLOD アクタが作成されます。
コマンド:UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -AllowCommandletRendering -builder=WorldPartitionHLODsBuilder
World Partition での Hierarchical Levels of Detail (HLOD) および World Partition HLODs Builder コマンドレットの使用方法の詳細については、「World Partition - Hierarchical Level of Detail」を参照してください。
World Partition MiniMap Builder
World Partition MiniMap Builder コマンドレットは、WorldPartition エディタ ウィンドウに表示されるミニマップを生成または更新します。
コマンド:UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -AllowCommandletRendering -builder=WorldPartitionMiniMapBuilder
World Partition名前変更複製ビルダー
World Partition Rename Duplicate Builder コマンドレットは、既存の World Partition レベルとそのすべてのアクタの名前を変更または複製するプロセスを自動化します。
コマンド:UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -SCCProvider=None -builder=WorldPartitionRenameDuplicateBuilder -NewPackage=/Game/ThirdPersonBP/Maps/NewPackage
OpenWorldTest マップの World Partition レベルを NewPackage という名前で複製し、元のマップはそのまま残します。
コピーを作成するのではなく、World Partition マップの名前を変更するには、-Rename
引数を追加します。
World Partition再保存アクタビルダー
World Partition Resave Actors Builder コマンドレットは、World Partition レベルのすべてのアクタを再保存し、アクタのサブセットのみを再保存するクラス フィルタをサポートします。
コマンド:UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -SCCProvider=None -builder=WorldPartitionResaveActorsBuilder
この例を実行すると、OpenWorldTest レベルにあるすべてのアクタのパッケージが再保存されます。
-ActorClass
引数を使用すると、再保存するアクタのサブセットのみを指定できます。 たとえば、-ActorClass=StaticMeshActor
を追加すると、指定したレベルのスタティックメッシュ アクタのみが再保存されます。
World Partitionフォリッジビルダー
World Partition マップでは、フォリッジ インスタンスのデフォルトのインスタンス化されたフォリッジ グリッド サイズは 256 m です。 World Partition Foliage Builder コマンドレットは、既存の World Partition レベルのインスタンス化フォリッジ グリッド サイズを変更するために使用されます。
コマンド:UnrealEditor.exe QAGame Playground.umap -run=WorldPartitionBuilderCommandlet -Builder=WorldPartitionFoliageBuilder -NewGridSize=Value
World Partition でのフォリッジ モードの使用方法の詳細については、「フォリッジ モード」を参照してください。
World Partitionナビゲーションデータビルダー
World Partition Navigation Data Builder コマンドレットは、World Partition レベルのナビメッシュを再ビルドします。
コマンド:UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -AllowCommandletRendering -builder=WorldPartitionNavigationDataBuilder -SCCProvider=None
このコマンドレットでは、次の引数をとります。
任意指定の引数 | 説明 |
---|---|
-SCCProvider | 使用するソース コントロール プロバイダを指定します。 ソース コントロールを使用せずに実行するには、「 |
-Verbose | 詳細なログを表示します。 |
-Log | 特定のファイルにログを出力します。 |
-CleanPackages | ナビゲーション データ パッケージをビルドするのではなく、ワイプします。 |
World Partitionスマートオブジェクトコレクションビルダー
World Partition Smart Object Collection Builder コマンドレットは、World Partition レベルのすべてのスマート オブジェクト コンポーネントからスマート オブジェクト コレクションを再ビルドします。
コマンド:UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -builder=WorldPartitionSmartObjectCollectionBuilder
この例を実行すると、OpenWorldTest レベルのすべてのスマート オブジェクト コレクションが再ビルドされます。 このコマンドレットで -SCCProvider
引数を指定すると、使用するソース管理プロバイダを指定することができます。
World Partition PCG ビルダー
World Partition PCG ビルダー コマンドレットはレベルを完全に読み込み、スタティックメッシュのビルドなどの非同期プロセスが完了するのを待機した後、一致する PCG コンポーネントの生成をスケジュールします。 すべての生成が完了すると、プロセスは World Partition レベルを保存して終了します。
コマンドライン:UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -Unattended -AllowCommandletRendering -run=WorldPartitionBuilderCommandlet -Builder=PCGWorldPartitionBuilder -IncludeGraphNames=PCG_GraphA;PCG_GraphB
コンソール コマンド:pcg.BuildComponents -IncludeGraphNames=PCG_GraphA;PCG_GraphB
このコマンドレットでは、次の引数をとります。
任意指定の引数 | 説明 |
---|---|
-IncludeGraphNames | 生成にグラフ名のリストを含め、 |
-GenerateComponentEditingModeLoadAsPreview | この引数を使用すると、Load As Preview (プレビューとしてロード) エディタ モードで保存されたコンポーネントは、生成の対象として考慮されます。 |
-GenerateComponentEditingModeNormal | 編集モードが Normal (法線) に設定されたコンポーネントを生成します。 デフォルトでは、編集モードを Load As Preview にして保存されたコンポーネントのみが生成されます。 |
-GenerateComponentEditingModePreview | 編集モードが Preview (プレビュー) に設定されたコンポーネントを生成します。 デフォルトでは、編集モードを Load As Preview にして保存されたコンポーネントのみが生成されます。 |
-IgnoreGenerationErrors | エラーの有無にかかわらず、結果がソース コントロールに送信されます (ただし、エラーは報告され、ジョブ ステータスは「失敗」のままです)。 これは、エラーが発生しても、ジョブのオンライン状態を保持するために使用できますが、注意して使用する必要があります。 デフォルトでは、コンポーネントの生成中に発生したエラーはすべてビルダーに登録され、ビルド ジョブが失敗し、結果は送信されません。 |
-IncludeActorIDs |
|
-OneComponentAtATime | 一度に 1 つのコンポーネントの生成をスケジュールし、各生成が完了するのを待機してから、新しいコンポーネントをスケジュールします。 デバッグ中に非同期処理がお互いに干渉していないことを確認するのに役立ちます。 |
-PCGBuilderSettings | ビルダー コマンドレットをセット アップする際に使用する PCGBuilderSettings アセットを指定します。 すべてのコマンドレット引数は、PCGBuilderSettings アセットで設定された引数をオーバーライドします。 |
-IterativeCellLoading | 特定のセル サイズを使用してワールドを処理し、一度にすべてをロードしないようにします。 ロードされたコンポーネントは生成および保存を行います。 次にそれらはアンロードされ、ビルダーは別のセルへ移動します。 これは、ワールド全体をロードするとメモリの問題が発生する大規模なワールドの場合に役立ちます。 |
-IterativeCellSize | IterativeCellLoading を使用するときにデフォルトのセル サイズをオーバーライドします。 デフォルト値は |
-Unattended | エディタ UI の初期化を回避し、代わりにコンソールで実行します。 |
-AllowCommandletRendering | レンダリング サブシステムを初期化します。 PCG には GPU を活用する機能がいくつか備わっているため便利です。 |
-AutoSubmit | 可能な場合は、ソース コントロールに結果の送信を試みます。 |
-AssetGatherAll | プロジェクト内のすべてのアセットの完全なアセット レジストリを構築します。 ビルダーがレベル内で参照されていないアセットにアクセスするために必要です。 |