나만의 작은 도서관
[TIL][C++] 250910 MMO 서버 개발 98일차: [언리얼] Persistent Level 본문
주의사항: 해당 글은 일기와 같은 기록용으로, 다듬지 않은 날것 그대로인 글입니다.
[언리얼] Persistent Level
- Persistent Level은 월드의 기본이 되는 레벨이며, 항상 메모리에 적재되어 있는 고정 레벨이다. 게임 실행 시, 가장 먼저 메모리에 적재되며, 항상 활성 상태를 유지하며 다른 레벨들을 관리하는 상위 레벨의 역할을 맡는다.
어떤 액터들이 Persistent Level에 포함되는가?
- Persistent Level도 Level이라 액터들을 배치할 수 있다. 여기에 배치되는 액터들을 강제로 파괴하지 않는 이상 게임이 종료될 때까지 유지되는 생명 주기를 가지기 때문에 레벨 전환 시에도 항상 유지되어야 하는 액터들이 존재하게 된다.
- 많은 경우 기반 요소가 되는 액터들이 Persistent Level 존재하게 되며, 대표적으로 Directional Light, Sky Atmospher과 같은 환경 요소들이 배치하는 것이 적합하다.
플레이어 액터를 Persistent Level에 배치하는 것을 적합할까?
- 레벨에 종속되는 플레이어 액터 인스턴스는 레벨이 전환되면 파괴되기 때문에 파괴되지 않는 Persistent Level에 넣어두고 사용하고 싶다는 생각이 들었다. 하지만 이는 그리 좋지 못한 선택이라고 한다. 이유는 Persistent Level에 직접 배치하면 레벨 전환이나 리스폰 시 로직이 꼬일 가능성이 있기 때문이라고 한다.
