월드 파티션(World Partition)은 UWorldPartitionBuilderCommandlet 및 UWorldPartitionBuilder 베이스 클래스를 통해 빌더 커맨드릿 프레임워크를 도입합니다.
이 커맨드릿은 배치 프로세스를 자동화하고 월드 파티션 레벨에서 데이터를 생성하거나 수정합니다. HLOD를 생성하거나, AI 내비게이션 데이터를 생성하거나, 다수의 액터를 다시 저장하는 등의 작업을 수행할 때도 거대 월드를 한 번에 전부 로드할 필요가 없습니다.
월드 파티션 HLOD 빌더
HLOD는 월드 파티션 HLOD 빌더(World Partition HLODs Builder) 커맨드릿을 사용하여 생성됩니다. 이 커맨드릿을 실행하면 HLOD 레이어에서 지정한 생성 세팅에 따라 월드 파티션 셀의 HLOD 액터를 생성합니다.
명령: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -AllowCommandletRendering -builder=WorldPartitionHLODsBuilder
월드 파티션에서 HLOD를 사용하는 방법과 월드 파티션 HLOD 빌더 커맨드릿을 사용하는 방법에 대한 자세한 내용은 월드 파티션 - HLOD 문서를 참조하세요.
월드 파티션 미니 맵 빌더
월드 파티션 미니 맵 빌더(World Partition MiniMap Builder) 커맨드릿은 월드 파티션 에디터 창에 표시되는 미니 맵 빌더를 생성하거나 업데이트합니다.
명령: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -AllowCommandletRendering -builder=WorldPartitionMiniMapBuilder
월드 파티션 이름변경 복제 빌더
월드 파티션 이름변경 복제 빌더(World Partition Rename Duplicate Builder) 커맨드릿은 기존 월드 파티션 레벨과 그 레벨의 모든 액터에 대한 이름 변경 및 복제 프로세스를 자동화합니다.
명령: 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
이를 통해 이름이 NewPackage인 OpenWorldTest 맵의 복제 월드 파티션 레벨이 생성되고 원본 맵은 그대로 유지됩니다.
월드 파티션 맵을 복사하는 대신 이름을 변경하려면 -Rename 실행인자를 추가합니다.
월드 파티션 재저장 액터 빌더
월드 파티션 재저장 액터 빌더(World Partition Resave Actors Builder) 커맨드릿은 월드 파티션 레벨의 모든 액터를 재저장하고 액터의 서브셋만 재저장하는 클래스 필터를 지원합니다.
명령: 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를 추가하면 지정된 레벨의 스태틱 메시 액터만 재저장됩니다.
월드 파티션 폴리지 빌더
월드 파티션 맵에서 폴리지 인스턴스의 인스턴스드 폴리지 그리드 크기(Instanced Foliage Grid Size)는 256미터가 디폴트입니다. 월드 파티션 폴리지 빌더(World Partition Foliage Builder) 커맨드릿은 기존 월드 파티션 레벨에 대한 인스턴스드 폴리지 그리드 크기를 변경하는 데 사용됩니다.
명령: UnrealEditor.exe QAGame Playground.umap -run=WorldPartitionBuilderCommandlet -Builder=WorldPartitionFoliageBuilder -NewGridSize=Value
월드 파티션에서 폴리지 모드(Foliage Mode)를 사용하는 방법에 대한 자세한 내용은 폴리지 모드 문서를 참조하세요.
월드 파티션 내비게이션 데이터 빌더
월드 파티션 내비게이션 데이터 빌더(World Partition Navigation Data Builder) 커맨드릿은 월드 파티션 레벨의 내비메시를 리빌드합니다.
명령: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -AllowCommandletRendering -builder=WorldPartitionNavigationDataBuilder -SCCProvider=None
이 커맨드릿에는 다음 실행인자가 필요합니다.
| 실행인자 옵션 | Description |
|---|---|
-SCCProvider | 사용할 소스 컨트롤 제공자를 지정합니다. 소스 컨트롤을 사용하지 않고 실행하려면 |
-Verbose | 자세한 로깅을 표시합니다. |
-Log | 특정 파일에 로그를 출력합니다. |
-CleanPackages | 내비게이션 데이터 패키지를 빌드하지 않고 모두 지웁니다. |
월드 파티션 스마트 오브젝트 컬렉션 빌더
월드 파티션 스마트 오브젝트 컬렉션 빌더(World Partition Smart Object Collection Builder) 커맨드릿은 월드 파티션 레벨의 모든 스마트 오브젝트 컴포넌트에 있는 스마트 오브젝트 컬렉션을 리빌드합니다.
명령: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -builder=WorldPartitionSmartObjectCollectionBuilder
위의 예시를 실행하면 OpenWorldTest 레벨의 모든 스마트 오브젝트 컬렉션이 리빌드됩니다. 이 커맨드릿과 함께 -SCCProvider 실행인자를 사용하여 사용할 소스 컨트롤 제공자를 지정할 수 있습니다.
월드 파티션 PCG 빌더
월드 파티션 PCG 빌더(World Partition PCG Builder) 커맨드릿은 레벨을 완전히 로드하고 스태틱 메시 빌드 같은 비동기 프로세스가 완료될 때까지 기다린 다음, 일치하는 PCG 컴포넌트에 대한 생성을 예약합니다. 모든 생성이 완료되면 프로세스에서 월드 파티션 레벨이 저장되고 종료됩니다.
명령줄: 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
이 커맨드릿에는 다음 실행인자가 필요합니다.
| 실행인자 옵션 | Description |
|---|---|
-IncludeGraphNames | 생성에 그래프 이름을 |
-GenerateComponentEditingModeLoadAsPreview | 이 실행인자를 사용하면 에디터 모드 프리뷰로 로드(Load As Preview)로 저장된 컴포넌트를 생성하는 것을 고려합니다. |
-GenerateComponentEditingModeNormal | 편집 모드가 노멀(Normal)로 설정된 컴포넌트를 생성합니다. 기본적으로 편집 모드 프리뷰로 로드로 저장된 컴포넌트만 생성됩니다. |
-GenerateComponentEditingModePreview | 편집 모드가 프리뷰(Preview)로 설정된 컴포넌트를 생성합니다. 기본적으로 편집 모드 프리뷰로 로드로 저장된 컴포넌트만 생성됩니다. |
-IgnoreGenerationErrors | 오류와 상관없이 소스 컨트롤에 결과를 제출합니다. 하지만, 오류는 여전히 보고되고 작업 상태도 실패(Failed)가 됩니다. 오류가 있음에도 작업을 온라인 상태로 유지하는 데 사용할 수 있지만 주의하여 사용해야 합니다. 기본적으로 컴포넌트 생성 중에 발생하는 모든 오류는 빌더에 등록되고 빌드 작업은 실패하며, 결과는 제출되지 않습니다. |
-IncludeActorIDs | 고유 액터 ID를 |
-OneComponentAtATime | 한 번에 하나의 컴포넌트 생성을 예약하고 각 생성이 완료될 때까지 기다렸다가 새 컴포넌트를 예약합니다. 디버깅 중에 비동기 프로세스가 서로 간섭하지 않도록 하는 데 유용합니다. |
-PCGBuilderSettings | 빌더 커맨드릿 구성 시 사용할 PCGBuilderSettings 에셋을 지정합니다. 모든 커맨드릿 실행인자는 PCGBuilderSettings 에셋에 설정된 실행인자를 오버라이드합니다. |
-IterativeCellLoading | 모든 것을 한 번에 로드하지 않도록 특정 셀 크기를 사용하여 월드를 처리합니다. 로드된 컴포넌트는 생성 및 저장됩니다. 그런 다음, 컴포넌트가 언로드되고 빌더는 다른 셀로 이동합니다. 전체 월드를 로드하면 메모리 문제가 발생하는 대규모 월드를 처리하는 데 유용합니다. |
-IterativeCellSize | IterativeCellLoading을 사용할 때 디폴트 셀 크기를 오버라이드합니다. 디폴트 값은 |
-Unattended | 에디터 UI를 초기화하지 않는 대신 콘솔에서 실행합니다. |
-AllowCommandletRendering | 렌더링 서브시스템을 초기화합니다. PCG에 GPU를 활용하는 몇 가지 기능이 있으므로 유용합니다. |
-AutoSubmit | 가능한 경우 소스 컨트롤에 결과를 제출하려 시도합니다. |
-AssetGatherAll | 프로젝트의 모든 에셋에 대해 전체 에셋 레지스트리를 빌드합니다. 빌더가 레벨에 참조되지 않은 에셋에 액세스해야 하는 경우 필요합니다. |