기존에는 큰 맵을 만들려면 개발자가 직접 맵을 서브 레벨로 나눈 다음, 레벨 스트리밍 시스템을 통해 플레이어가 랜드스케이프를 이동할 때 로딩, 언로딩해야 했습니다. 이 메서드로는 다수의 사용자가 파일을 공유할 때 종종 문제가 생겼고, 전체 월드의 컨텍스트를 파악하기가 어려웠습니다.
월드 파티션(World Partition)은 대규모 월드를 관리하기에 완벽한 솔루션인 자동 데이터 관리 및 거리 기반 레벨 스트리밍 시스템입니다. 기존에는 그리드 셀로 나눠진 단일 퍼시스턴트 레벨에 월드를 저장함으로써 커다란 레벨을 서브 레벨로 나눠야 했던 것과 달리, 스트리밍 소스와 셀의 거리에 따라 로드, 언로드하는 자동 스트리밍 시스템입니다.
월드 파티션은 다음 기능과 밀접한 관련이 있습니다.
- 액터당 한 개의 파일(One File Per Actor)
- 월드 파티션 - 데이터 레이어(Data Layers)
- 레벨 인스턴싱(Level Instancing)
- 월드 파티션 - HLOD(Hierarchical Levels of Detail)
월드 파티션 활성화
언리얼 엔진에서 월드 파티션을 활성화하는 방법에는 다음 세 가지가 있습니다.
- 게임 카테고리에 있는 템플릿에서 새 프로젝트 생성
- 오픈 월드 템플릿을 사용하여 새 레벨 생성
- 월드 파티션을 사용할 수 있도록 기존의 레벨 변환
게임 템플릿을 사용하여 프로젝트 생성
게임 카테고리에 있는 많은 프로젝트 템플릿에는 월드 파티션이 디폴트로 활성화되어 있습니다.
새 프로젝트를 생성할 때 복잡성을 줄이고 확장 가능한 솔루션을 제공하려는 경우, 월드 세팅(World Settings) 에 있는 스트리밍 활성화(Enable Streaming) 옵션을 사용하여 그리드 셀 스트리밍을 활성화하거나 비활성화할 수 있습니다.
다음 템플릿에선 월드 파티션을 사용하지만, 스트리밍 활성화 가 디폴트로 비활성화되어 있습니다.
- Blank
- First Person
- Third Person
- Top Down
- Vehicle Advanced
오픈 월드 디폴트 맵 사용하기
오픈 월드 디폴트 맵 타입은 대규모 오픈 월드 맵을 만들기 위한 시발점으로 삼을 수 있도록 설계되었으며, 다음 기능이 디폴트로 활성화되어 있습니다.
- 월드 파티션(World Partition)
- 액터당 한 개의 파일(One File Per Actor)
- 데이터 레이어(Data Layers)
- HLOD(Hierarchical Levels of Detail)
맵에는 랜드스케이프 머티리얼이 포함된 2km×2km 크기의 샘플 랜드스케이프와 야외 환경을 위한 라이팅 설정이 포함되어 있습니다. 여기에는 스카이 애트머스피어, 스카이라이트, 디렉셔널 라이트, 익스포넨셜 하이트 포그, 볼류메트릭 클라우드가 포함됩니다.
프로젝트에 오픈 월드 디폴트 맵 타입을 사용하려면 다음 단계에 따릅니다.
- 파일(File) 메뉴를 열고 새 레벨(New Level) 을 선택합니다.
- 오픈 월드(Open World) 맵 타입을 선택합니다.
- 만들기(Create) 버튼을 클릭하여 새 맵을 생성합니다.
월드 파티션을 사용할 수 있도록 기존의 레벨 변환하기
툴(Tools) > 레벨 변환(Convert Level) 메뉴 옵션을 사용하여 변환하거나 월드 파티션 변환(World Partition Convert) 커맨드릿을 사용하여 레벨에 월드 파티션을 추가할 수 있습니다.
월드 파티션 변환 커맨드릿을 사용하려면 다음 단계를 따르세요.
Command: UnrealEditor.exe QAGame -run=WorldPartitionConvertCommandlet Playground.umap -AllowCommandletRendering
기존 레벨을 월드 파티션으로 변환
- Windows에서 명령 프롬프트 창을 엽니다.
- 프롬프트에서
UnrealEditor.exe
실행 파일이 있는 위치로 이동합니다. 위의 예시에서는c:\Builds\Home_UE5_Engine\Engine\Binaries\Win64
입니다.
- 다음으로 커맨드릿을 실행할 .exe 파일의 이름인
UnrealEditor.exe
로 명령어 작성을 시작하세요. - 프로젝트 이름을 추가합니다. 이 예시에서는
QAGame
입니다.
- 실행할 커맨드릿의 이름인
-run=WorldPartitionConversionCommandlet
을 추가합니다. - 변환할 맵 파일의 이름을 추가합니다. 위의 예시에서는
Playground.umap
입니다. -AllowCommandletRendering
실행인자를 추가하여 명령을 완료합니다.
- Enter 를 누르면 월드 파티션을 사용할 수 있도록 커맨드릿이 맵을 변환합니다.
다음과 같은 실행인자도 커맨드릿에 선택적으로 사용할 수 있습니다.
실행인자 옵션 | 설명 |
---|---|
-SCCProvider=(None,Perforce...) | 사용할 소스 컨트롤 제공자를 지정합니다. 소스 컨트롤을 사용하지 않고 실행하려면 -SCCProvider=None 으로 지정합니다. |
-Verbose | 상세 로깅을 표시합니다. |
-ConversionSuffix | 변환된 맵의 이름 끝에 _WP를 추가합니다. 테스트용으로 레벨을 변환하면서 소스 레벨은 그대로 유지할 때 유용합니다. |
-DeleteSourceLevels | 변환 후 소스 레벨을 삭제합니다. |
-ReportOnly | 변환 중에 발생할 일들을 출력합니다. 실제 변환은 하지 않습니다. |
-GenerateIni | 이 맵의 디폴트 .ini 변환 파일을 생성합니다. 실제 변환은 하지 않습니다. |
-SkipStableGUIDValidation | 불안정한 액터 GUID 유효성 검사를 건너뜁니다. 불안정한 액터 GUID가 있는 레벨을 여러 번 변환할 경우 변환 결과가 달라질 수 있습니다. 레벨을 다시 저장하면 이 문제가 해결됩니다. |
-OnlyMergeSubLevels | 월드 파티션을 사용하지 않고 레벨과 서브 레벨을 액터당 한 개의 파일로 변환하고 병합합니다. 변환된 레벨은 월드 파티션 레벨에서 레벨 인스턴스로 사용할 수 있습니다. |
-FoliageTypePath=[Path] | 폴리지 타입을 해당 경로에 에셋으로 추출합니다. 레벨에 자체 폴리지 타입이 포함된 경우 이 옵션을 사용합니다. |
변환 세팅을 바꾸고 싶은 경우 커맨드릿으로 .ini
디폴트 변환 파일을 사용합니다. .ini
파일은 맵 파일과 같은 폴더에 있어야 하고, 파일명이 맵과 같지만 확장자가 .ini
여야 합니다. 예를 들어 FirstPersonExampleMap.umap
의 .ini
파일 이름은 FirstPersonExampleMap.ini
여야 합니다.
다음은 .ini
디폴트 변환 파일의 예시입니다.
[/Script/UnrealEd.WorldPartitionConvertCommandlet]
EditorHashClass=Class'/Script/Engine.WorldPartitionEditorSpatialHash
RuntimeHashClass=Class'/Script/Engine.WorldPartitionRuntimeSpatialHash
LevelsGridPlacement=(("/Game/Maps/Highrise_Audio", Bounds),("/Game/Maps/Highrise_Collisions_Temp", Bounds),("/Game/Maps/Highrise_Gameplay", Bounds),("/Game/Maps/Highrise_Lights", Bounds),("/Game/Maps/Highrise_Vista", AlwaysLoaded))
HLODLayerAssetsPath=
DefaultHLODLayerName=
[/Script/Engine.WorldPartitionEditorSpatialHash]
CellSize=51200
WorldImage=None
WorldImageTopLeftW=(X=0.000000,Y=0.000000)
WorldImageBottomRightW=(X=0.000000,Y=0.000000)
[/Script/Engine.WorldPartitionRuntimeSpatialHash]
Grids=(GridName="MainGrid",CellSize=3200,LoadingRange=25600.000000,DebugColor=(R=0.500000,G=0.500000,B=0.500000,A=1.000000))
월드 파티션 사용하기
월드 파티션 시스템은 월드를 단일 퍼시스턴트 레벨 파일에 저장하고, 환경설정 가능한 런타임 그리드를 사용해 공간을 스트리밍 가능한 그리드 셀로 다시 나눔으로써 작동합니다. 이러한 셀은 플레이어 같은 스트리밍 소스의 존재로 인해 로딩, 언로딩됩니다. 엔진은 특정 시간에 플레이어가 보고 상호작용하는 부분만 로드합니다.
월드 파티션 내 액터
월드를 편집할 때 액터는 어디든 추가될 수 있고, 디테일(Details) 패널의 월드 파티션(World Partition) 섹션에 있는 공간적으로 로드되었는지 여부(Is Spatially Loaded)** 세팅에 따라 그리드 셀에 자동으로 할당됩니다.
옵션 | 설명 |
---|---|
런타임 그리드(Runtime Grid) | 이 액터가 배치되는 파티션 그리드를 결정합니다. 없음(None) 으로 지정한 경우 파티션 시스템이 그리드를 선택합니다. |
공간적으로 로드되었는지 여부(Is Spatially Loaded) | 액터가 공간적으로 로드되는지 여부를 결정합니다.
|
'액터당 한 개의 파일' 기능을 사용하면 액터가 개별 파일에 저장되므로, 소스 컨트롤에서 레벨 파일을 체크아웃하고 월드 내 액터를 변경할 필요가 없습니다. 이 기능으로 다른 팀원도 레벨 파일을 이용할 수 있습니다.
액터당 한 개의 파일 시스템과 언리얼 엔진의 통합 소스 컨트롤에 대한 자세한 내용은 액터당 한 개의 파일 문서를 참조하세요.
레벨에서 다른 액터를 참조하는 액터는 하나로 묶여서 동시에 로딩될 것입니다.
스트리밍 소스
런타임의 그리드 내 그리드 셀의 스트리밍은 다음 두 가지 요소로 결정됩니다.
- 스트리밍 소스(Streaming Sources)
- 런타임 그리드 세팅(Runtime Grid Settings)
첫 번째는 레벨 내 스트리밍 소스의 위치입니다.

스트리밍 소스는 월드 내 위치를 결정하고, 주변 셀의 로딩을 유발하는 컴포넌트입니다. 플레이어 컨트롤러(Player Controllers)는 스트리밍 소스입니다. 월드 파티션 스트리밍 소스(World Partition Streaming Source) 컴포넌트를 사용하여 다른 스트리밍 소스를 월드에 추가할 수 있습니다. 예를 들어 스트리밍 소스 컴포넌트는 플레이어가 텔레포트할 위치에서 활성화되어 그곳의 셀을 로딩할 수 있습니다. 그리드 셀이 로딩되면 플레이어는 그 위치로 텔레포트하고 스트리밍 소스 컴포넌트가 비활성화됩니다. 플레이어의 이전 위치에는 이제 스트리밍 소스가 없으므로, 해당 그리드 셀은 언로딩됩니다.
플레이어를 스트리밍 소스로 사용하기
스트리밍 소스 활성화(Enable Streaming Source) 옵션을 선택하면 각 플레이어 컨트롤러가 월드 파티션 스트리밍 소스로 사용됩니다. 이 옵션은 디폴트로 활성화되어 있습니다.
월드 파티션 스트리밍 소스 컴포넌트 사용하기
월드 파티션 스트리밍은 월드 파티션 스트리밍 소스 컴포넌트로도 이뤄집니다.
이 컴포넌트에는 다음과 같은 옵션이 있습니다.
옵션 | 설명 |
---|---|
디폴트 시각화 툴 로딩 범위(Default Visualizer Loading Range) | 디버그 시각화 툴이 활성화되었을 때 나타나는 디버그 시각화 툴 그리드의 크기를 설정합니다. |
타깃 그리드(Target Grid) | 해당 소스의 영향을 받는 스트리밍 그리드를 설정합니다. |
디버그 컬러(Debug Color) | 디버깅에 사용되는 색상을 설정합니다. |
타깃 HLOD 레이어(Target HLOD Layer) | 스트리밍 소스의 영향을 받는 HLOD 레이어를 설정합니다. |
모양(Shapes) | 해당 스트리밍 소스의 커스텀 셰이프를 구성하는 데 사용되는 셰이프 목록을 설정합니다. 비워 두면 그리드 로딩 범위와 동일한 반경의 구체를 사용합니다. |
우선순위(Priority) | 스트리밍 소스의 우선순위를 설정합니다. 그리드 셀이 여러 스트리밍 소스와 교차하는 경우, 그리드 셀의 우선순위가 모든 스트리밍 소스에 최우선하여 적용됩니다. |
스트리밍 소스 활성화됨(Streaming Source Enabled) | 해당 컴포넌트의 활성화 여부를 결정합니다. |
타깃 상태(Target State) | 교차하는 그리드 셀의 상태(로드됨 또는 활성화)를 설정합니다. 그리드 셀이 여러 스트리밍 소스와 교차하는 경우 타깃 상태 옵션이 최우선으로 적용됩니다('활성화'가 '로드'보다 우선합니다). |
블루프린트 함수 스트리밍 소스 활성화(Enable Streaming Source) 와 스트리밍 소스 비활성화(Disable Streaming Source) 는 이 컴포넌트를 사용하여 스트리밍을 활성화 및 비활성화합니다.
컴포넌트가 교차하는 그리드 셀의 스트리밍을 완료하면 블루프린트 함수 스트리밍 완료(Is Streaming Completed) 가 'true'를 반환합니다.
런타임 그리드 세팅
런타임에 그리드 셀의 로딩 또는 언로딩 여부를 결정하는 두 번째 요소는 런타임 그리드의 세팅 자체입니다. 런타임 그리드 세팅은 월드 세팅 패널의 월드 파티션 세팅 에 있습니다.
2D 런타임 해시(2D Runtime Hash) 그리드가 디폴트로 제공됩니다. 두 가지 이상의 그리드를 사용하면 퍼포먼스에 악영향을 줄 수 있습니다.
2D 런타임 해시 그리드의 권장 설정 및 세팅에 대한 자세한 내용은 도시 샘플 프로젝트의 빅 시티(Big City) 맵을 참조하세요.
옵션 | 설명 |
---|---|
그리드 이름(Grid Name) | 런타임 그리드의 이름입니다. |
셀 크기(Cell Size) | 스트리밍 레벨을 생성하는 데 사용되는 그리드 셀의 크기를 설정합니다. 예시의 셀 크기 는 256제곱미터입니다. |
로딩 범위(Loading Range) | 셀이 로딩될 스트리밍 소스와의 거리 범위를 설정합니다. 위 이미지에서 로딩 범위 는 스트리밍 소스로부터 반경 768미터까지입니다. |
느린 스트리밍 차단(Block on Slow Streaming) | 그리드 셀의 로딩 속도가 느린 경우 로딩을 중지합니다. |
우선순위(Priority) | 스트리밍 소스의 우선순위를 설정합니다. 그리드 셀이 여러 스트리밍 소스와 교차하는 경우, 그리드 셀의 우선순위가 모든 스트리밍 소스에 최우선하여 적용됩니다. |
디버그 컬러(Debug Color) | 프리뷰 그리드(Preview Grids) 가 활성화되었을 때 그리드 선의 색을 설정합니다. |
프리뷰 그리드(Preview Grids) | 활성화하면 뷰포트에 그리드 선이 표시됩니다. |
인스턴스드 폴리지 그리드 크기(Instanced Foliage Grid Size) | 인스턴스드 폴리지 액터의 그리드 크기를 설정합니다. |
디폴트 월드 파티션 세팅(Default World Partition Settings) | 현재 그리드 세팅을 디폴트 세팅으로 초기화하거나 현재 세팅을 새로운 디폴트 세팅으로 저장합니다. |
월드 파티션 에디터 셀 크기(World Partition Editor Cell Size) | 월드 파티션 에디터 셀 크기를 설정합니다. 새로운 크기는 월드를 다시 로드한 시점부터 적용됩니다. |
에디터에서 그리드 셀 로딩, 언로딩하기
거대한 월드 개발을 지원하기 위해, 처음에는 모든 그리드 셀이 언로딩되어 있습니다. 레벨이 열리면, 에디터는 환경 배경과 매니저처럼 그리드 배치 세팅이 '항상 로딩됨'으로 표시된 액터만 로딩합니다. 그러면 에디터에 맵 전체를 로딩할 수 없는 거대 월드를 개발할 때 도움이 됩니다.
월드 파티션 창에서 작업할 그리드 셀을 수동으로 선택할 수 있습니다. 메인 메뉴에서 창 > 월드 파티션 을 선택해서 창을 엽니다.
창에서 그리드 셀을 드래그해 선택합니다. 선택한 상태로 우클릭해서 관련 메뉴를 열고 셀을 로딩하거나 언로딩합니다.
월드 파티션 창용 미니맵 생성하기
빌드(Build) 메뉴의 월드 파티션 섹션에 있는 미니맵 빌드(Build Minimap) 옵션을 사용하거나 월드 파티션 미니맵 빌더(World Partition Minimap Builder) 커맨드릿을 사용하여 미니맵을 생성하면 월드 파티션 창을 더 쉽게 탐색할 수 있습니다.
이 커맨드릿을 실행하면 월드 파티션 월드의 미니맵 이미지가 생성되어 월드 파티션 창에 배치됩니다.
미니맵을 빌드했는데 월드 파티션 창에 나타나지 않으면 프로젝트에서 버추얼 텍스처 지원을 활성화해야 합니다. 버추얼 텍스처를 활성화하려면 메인 메뉴에서 편집(Edit) > 프로젝트 세팅(Project Settings) 으로 이동합니다. 그런 다음 버추얼 텍스처 지원 활성화(Enable virtual texture support) 체크박스를 선택하여 활성화합니다.
HLOD 생성하기
HLOD는 빌드 메뉴의 월드 파티션 섹션에 있는 빌드 HLOD 옵션을 사용하거나 월드 파티션 HLOD 빌더(World Partition HLODs Builder) 커맨드릿을 사용하여 생성할 수 있습니다.
이 커맨드릿을 실행하면 HLOD 레이어에서 지정한 생성 세팅에 따라 월드 파티션 셀의 HLOD 액터를 생성합니다. 월드 파티션에서 HLOD를 사용하는 방법과 월드 파티션 HLOD 빌더 커맨드릿을 사용하는 방법에 대한 자세한 내용은 월드 파티션 - HLOD 문서를 참고하세요.
월드 파티션 월드 쿠킹
월드 파티션 맵을 쿠킹하려면 쿠킹(Cook) 커맨드릿을 사용해야 합니다.
Command: UnrealEditor.exe QAGame -run=cook -targetplatform=WindowsNoEditor -Unversioned -map=Playground
월드 파티션 맵을 쿠킹하려면:
- Windows에서 명령 프롬프트 창을 엽니다.
- 프롬프트에서
UnrealEditor.exe
실행 파일이 있는 위치로 이동합니다. - 다음으로 커맨드릿을 실행할 .exe 파일의 이름인
UnrealEditor.exe
로 명령어 작성을 시작하세요. - 프로젝트 이름을 추가합니다. 이 예시에서는
QAGame
입니다. - 실행할 커맨드릿의 이름으로
-run=cook
을 그대로 사용합니다. - 다음 실행인자를 사용하여 명령을 완료합니다.
-targetplatform=WindowsNoEditor
는 Windows 플랫폼용 프로젝트를 쿠킹합니다.-UnVersioned
는 버전 구분 없이 쿠킹된 모든 패키지를 저장합니다. 이 인수를 사용하여 저장한 패키지는 로드했을 때 현재 버전으로 취급합니다.-map=Playground
는 맵의 이름을 지정합니다. 이 예시는Playground.umap
입니다.
쿠킹 커맨드릿 사용법에 대한 자세한 내용은 콘텐츠 쿠킹을 참고하세요.
블루프린트와 월드 파티션 함께 사용하기
월드 파티션 월드에서는 블루프린트 클래스와 레벨 블루프린트를 모두 지원합니다. 하지만 블루프린트 클래스가 선호되며, 레벨 블루프린트에 참조된 모든 액터는 항상 로딩됨으로 표시됩니다.
파티션된 월드 테스트하기
디버깅 및 런타임 오버라이드
런타임 중에 월드 파티션 월드를 디버깅하는 데 유용한 여러 가지 콘솔 명령이 있습니다.
콘솔 명령 | 설명 |
---|---|
wp.Runtime.ToggleDrawRuntimeHash2D | 월드 파티션 런타임 해시의 2D 디버그 표시를 토글합니다. |
wp.Runtime.ToggleDrawRuntimeHash3D | 월드 파티션 런타임 해시의 3D 디버그 표시를 토글합니다. |
wp.Runtime.ShowRuntimeSpatialHashGridLevel | 월드 파티션 런타임 해시를 보여줄 때 표시할 그리드 레벨을 선택합니다. |
wp.Runtime.ShowRuntimeSpatialHashGridLevelCount | 월드 파티션 런타임 해시를 보여줄 때 표시할 그리드 레벨 개수를 선택합니다. |
wp.Runtime.ShowRuntimeSpatialHashGridIndex | 월드 파티션 런타임 해시를 보여줄 때 특정 그리드를 보여줍니다. 무효한 인덱스는 모든 그리드를 보여줍니다. |
wp.Runtime.RuntimeSpatialHashCellToSourceAngleContributionToCellImportance | 스트리밍 소스에서 셀까지의 벡터와 소스의 포워드 벡터 사이의 각도를 셀 중요도 판단에 얼마나 반영할지 0~1 범위에서 조절합니다. 0에 가까울수록 각도가 셀 중요도에 기여하는 정도가 낮아집니다. |
wp.Runtime.OverrideRuntimeSpatialHashLoadingRange | 런타임 로딩 범위를 설정합니다. 다음 실행인자가 필요합니다.
|
wp.Runtime.MaxLoadingLevelStreamingCells | 동시에 로딩할 월드 파티션 스트리밍 셀의 수를 제한합니다. |
wp.Runtime.HLOD 0 | wp.Runtime.HLOD 를 사용하여 HLOD가 사용되지 않는 월드를 보여줍니다. |
월드 파티션 빌더 커맨드릿
월드 파티션에는 UWorldPartitionBuilderCommandlet 및 UWorldPartitionBuilder 베이스 클래스를 통해 빌더 커맨드릿 프레임워크가 추가됩니다.
이 커맨드릿은 배치 프로세스를 자동화하고 월드 파티션 레벨에서 데이터를 생성하거나 수정합니다. HLOD를 생성하거나, AI 내비게이션 데이터를 생성하거나, 다수의 액터를 다시 저장하는 등의 작업을 수행할 때도 거대 월드를 한 번에 전부 로드할 필요가 없습니다.
월드 파티션 HLOD 빌더
HLOD는 월드 파티션 HLOD 빌더(World Partition HLODs Builder) 커맨드릿을 사용하여 생성할 수 있습니다. 이 커맨드릿을 실행하면 HLOD 레이어에서 지정한 생성 세팅에 따라 월드 파티션 셀의 HLOD 액터를 생성합니다.
Command: 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) 커맨드릿은 월드 파티션 에디터 창에 표시되는 미니맵을 생성하거나 업데이트하는 데 사용됩니다.
Command: 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) 커맨드릿은 기존의 월드 파티션 레벨과 모든 관련 액터를 복제하거나 이름을 변경하는 프로세스를 자동화합니다.
Command: 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) 커맨드릿은 월드 파티션 레벨의 모든 액터를 재저장하는 데 사용되며, 액터의 서브셋만 재저장할 수 있는 클래스 필터를 지원합니다.
Command: 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) 커맨드릿은 기존 월드 파티션 레벨의 인스턴스드 폴리지 그리드 크기를 변경합니다.
Command: UnrealEditor.exe QAGame Playground.umap -run=WorldPartitionBuilderCommandlet -Builder=WorldPartitionFoliageBuilder -NewGridSize=Value
월드 파티션과 함께 폴리지 모드를 사용하는 방법에 대한 자세한 내용은 폴리지 모드 문서를 참조하세요.
월드 파티션 내비게이션 데이터 빌더
월드 파티션 내비게이션 데이터 빌더(World Partition Navigation Data Builder) 커맨드릿은 월드 파티션 레벨의 내비게이션 메시를 리빌드합니다.
Command: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -AllowCommandletRendering -builder=WorldPartitionNavigationDataBuilder -SCCProvider=None
이 커맨드릿에는 다음 실행인자가 필요합니다.
실행인자 옵션 | 설명 |
---|---|
-SCCProvider | 사용할 소스 컨트롤 제공자를 지정합니다. 소스 컨트롤을 사용하지 않고 실행하려면 -SCCProvider=None 으로 지정합니다. |
-Verbose | 상세 로깅을 표시합니다. |
-Log | 로그를 특정 파일로 출력합니다. |
-CleanPackages | 내비게이션 데이터 패키지를 빌드하지 않고 모두 삭제합니다. |
월드 파티션 스마트 오브젝트 컬렉션 빌더
월드 파티션 스마트 오브젝트 컬렉션 빌더(World Partition Smart Object Collection Builder) 커맨드릿은 월드 파티션 레벨의 모든 스마트 오브젝트 컴포넌트에 있는 스마트 오브젝트 컬렉션을 리빌드합니다.
Command: UnrealEditor.exe "C:\Users\user.name\Documents\Unreal Projects\MyProject\MyProject.uproject" "/Game/ThirdPersonBP/Maps/OpenWorldTest" -run=WorldPartitionBuilderCommandlet -builder=WorldPartitionSmartObjectCollectionBuilder
위의 예시를 실행하면 OpenWorldTest 레벨의 모든 스마트 오브젝트 컬렉션이 리빌드됩니다. -SCCProvider
실행인자를 이 커맨드릿과 함께 사용하여 소스 제어 제공자를 지정할 수 있습니다.