Unreal World Partition

황상진·2023년 7월 7일
1

Unreal

목록 보기
3/5
post-thumbnail

Unreal 5 World Paritition - 1

  • 기존에는 큰 맵을 만들려면 직접 맵을 서브 레벨로 나눈 다음, 레벨 스트리밍 시스템을 통해 플레이어가 랜드스케이프를 이동할 때 로딩, 언로딩해야했다.
  • 이러한 과정에서 다수의 사용자가 파일을 공유할 때 에러 발생 -> 전체 월드 컨텍스트 파악이 어렵다.
  • world partition은 대규모 월드를 관리하기 위한 솔루션 (자동 데이터 관리 및 거리 기반 레벨 스트리밍 시스템)
  • 스트리밍 소스와 셀의 거리에 따라 로드, 언로드 하는 자동 스트리밍 시스템

주요 기능 (default로 활성화)

  • One File Per Actor
  • Data Layers
  • Level Instancing
  • HLOD (Hierarchical Levels of Detail)

One File Per Actor

  • 기존에는 액터 변경 시에, source control에서 파일 체크아웃을 해야함
  • 변경 작업이 끝날 때까지 lock down -> 타 팀원이 해당 파일 접근 못함
  • One File Per Actor는 액터 인스턴스 데이터를 외부 파일에 저장 -> 액터 변경 시 메인 레벨 파일을 저장할 필요 없게 함으로써 사용자간 작업이 겹치는 상황을 줄여줌
  • 해당 기능은 에디터에서만 이용 가능
  • One File Per Actor 기능은 world partition을 사용할 때 기본적으로 활성화되어 있다.


위와 같이 액터를 움직이고 source control에서 확인해보면
__ExternalActors__파일이 수정되어있다.

Data Layers

  • 액터를 별도 레이어로 구성하는 데 사용, 해당 레이어를 로드, 언로드 가능
  • 액터를 동적으로 로드하고 언로드 하여 복잡한 레벨 관리 가능
  • 블루프린트에서 활성화하여 게임 플레이를 구동할 수 있다.
  • 월드 파티션 워크 플로에서 에셋 스트리밍 관리하기 위한 중요한 툴

Data Layers 창 구성

Data Layers outliner 컨텍스트 메뉴

Data Layers 사용하기

주의할 점

  • data layer를 생성 하고 bp에서 연결을 해준 이후에 이름을 변경하면 에러가 발생한다.
  • data layer 이름 변경은 피하자
  1. Data Layers Asset & Data Layers Instance 생성

  2. Data Layers에 담을 액터들 선택하여서 detail 창에 data layer asset에 할당해준다.

이후 개인적으로는 switch actor를 생성하여서 해당 swich trigger box에 overlap되었을 때 input이 enable되도록 설정하였다.

  1. key input 시에 bool 변수를 활용하여서 끄고 켜주기를 사용하였다.

주의할 점

In State
- Unloaded : 객체를 load하지 않음(map에서 사라짐)
- Loaded : 객체를 load 함 (map에 올라옴)
- Activated : 객체를 load하고 visible하도록 변경
Loaded만 사용하면 될 줄 알았지만 Activated로 사용해야 map에 보여진다.

  1. Data Layer 의 Type을 Runtime으로 변경해주어야 한다.

결과물
업로드중..

profile
Web FrontEnd Developer

0개의 댓글