레벨을 만들 때 오픈 월드 템플릿을 선택하면 월드 파티션 기능을 사용하여 스트리밍 가능한 오픈 월드를 생성하는 레벨을 만들 수 있다.

 

월드 파티션

ㄴ 대규모 월드를 관리하기 위해 자동 데이터 관리, 거리 기반 레벨 스트리밍 시스템을 사용

ㄴ 스트리밍 소스와 셀의 거리에 따라 로드, 언로드하는 자동 스트리밍 시스템

ㄴ 사용자(개발자) 간의 파일 오버랩을 최소화할 수 있다.

ㄴ 엔진은 특정 시간에 플레이어가 보고 상호작용하는 부분만 로드한다. (플레이어 컨트롤러의 Enable Streaming Source 옵션이 켜져 있다면(디폴트))

 

스트리밍 소스

ㄴ 월드의 특정한 위치 주변 셀의 로딩을 유발하는 컴포넌트

ㄴ 플레이어 컨트롤러는 스트리밍 소스

ㄴ 플레이어 컨트롤러 외의 스트리밍 소스를 추가하기 위해서 월드 파티션 스트리밍 소스 컴포넌트를 사용하여 다른 스트리밍 소스를 월드에 추가할 수도 있다. (플레이어의 텔레포트를 구현해야 할 경우 사용할 수 있다.)

 

월드 파티션과 관련 있는 기능

1. One File Per Actor

ㄴ 여러 팀원이 액터 변경 작업을 하더라도 메인 레벨 파일을 저장할 필요가 없게 되어 사용자 간 작업이 겹치는 상황을 줄여준다. (에디터에서만 이용 가능하다, 모든 액터는 쿠킹될 때 각 레벨 파일에 임베드됨)

ㄴ 월드 파티션을 사용할 때 기본적으로 활성화되어 있다.

ㄴ 1. 특정한 액터에 대해 기능을 활성화 하는 방법 Detail -> Packaging Mode를 External로 설정

ㄴ 2. 전체 레벨의 모든 액터에 대해 기능을 활성화 하는 방법 World Settings -> Use External Actors 체크

현재 레벨 뿐만 아니라 모든 서브레벨을 변환하려면 레벨과 서브레벨을 자동으로 변환하는 커맨드릿을 사용할 수 있다.

 

2. 월드 파티션 - Data Layers

ㄴ 액터를 별도 레이어로 구성하고, 레이어를 로드 언로드하여 월드를 구성한다.

ㄴ 블루프린터로 데이터 레이어를 활성화 할 수 있다.

ㄴ Windows -> World Partition -> Data Layers 

ㄴ 레이어를 만들어 놓고, 액터의 detail -> Data Layers에서 액터를 특정 레이어에 추가할 수 있다.

ㄴ 레이어의 상태는 로드, 언로드, 활성화 중 하나로 표현된다.

 

3. Level Instancing

ㄴ 월드 파티션이 아닌 월드를 월드 파티션 시스템으로 쉽게 이식할 수 있게 해주는 레벨 기반 워크플로

ㄴ 여러 개의 액터를 그룹화하여 하나의 액터로 

 

4. 월드 파티션 - HLOD 

ㄴ 거리가 멀어 언로드된 월드 파티션 그리드 셀을 시각화하여 프레임당 draw 콜 수를 줄인다.

ㄴ 멀리 떨어져있고, 상호작용이 없는 액터를 계속 보이게 해야 할 경우 HLOD에 포함시키면 좋다.

ㄴ 액터를 HLOD 레이어에 추가하는 법 : 액터의 Details -> HLOD 프로퍼티

 

월드 파티션 활성화 방법

ㄴ 월드 세팅에 있는 스트리밍 활성화 옵션 체크

 

기존 레벨을 월드 파티션을 사용할 수 있도록 변환하기

방법 1. Tools -> Convert Level

방법 2. 월드 파티션 변환 커맨드릿 사용하기

 

다수의 레벨 관리

Window-> levels 

 

항상 하나의 Persistent Level이 있으며, 항상 로드되거나 레벨 스트리밍 볼륨, 블루프린트, C++ 코드를 총해 스트림 인 가능한 서브 레벨 하나 이상으로 구성된다.

 

서브레벨 생성은 기존 퍼시스턴트 레벨이나 서브레벨의 일부분을 떼어내거나, 새로운 레벨을 만들거나, 기존 레벨을 추가하는 식으로 이루어진다.

 

월드 세팅

ㄴ 일반적으로 게임 모드와 탐색에 영향을 주는 세팅과 게임의 라이팅, 오디오, 피직스 등을 환경설정하는 특수한 세팅을 포함한다.

 

'언리얼 5 > 정리' 카테고리의 다른 글

개발 구성, 엔진 아키텍처  (0) 2022.10.18
액터 종류  (0) 2022.10.18
애셋과 레퍼런스  (0) 2022.10.14
기초 지식 - 에디터 종류  (0) 2022.10.14
기초 지식 - 기본적인 용어 정리  (0) 2022.10.14

+ Recent posts