언리얼 엔진으로 레벨을 구성할 때 Persistent / Streaming 레벨로 나누면,
커다란 월드를 부분으로 나누어 플레이타임에 다른 레벨을 메모리에 로드/언로드할 수 있고, 렌더링 또한 토글할 수 있다.
Persistent 는 말그대로 기본이 되는 '마스터' 레벨로 항상 작동하고 있는 요소들로 이루어진다.
Streaming 은 로드 / 언로드할 수 있는 레벨인데, 퍼시스턴트 레벨을 레이어화하기 위해 사용되기도 한다.
레벨의 로드/언로드는 "게임 모드" 블루프린트에서 호출되는 것이 안정적이다.
프로젝트 세팅에서 디폴트 게임모드를 생성한 게임모드 블루프린트로 설정할 수 있다.
더불어 그 아래쪽에 보면 디폴트 맵도 제작한 퍼시스턴트 레벨로 설정하고 있는 것을 알 수 있다.
위의 예시와 같이 Load Level Instance By (Name 또는 Object) 로 레벨을 로드하는 함수를 만들 수 있고, 이는 앞서 말했듯이 게임 모드 블루프린트에서 실행되는 것이 안정적이다.
위 예시에서는 스테이지 번호를 입력받아 레벨 이름 끝에 붙여 해당하는 이름의 레벨을 찾아 로드한다.
제작한 레벨은 위의 함수에서 호출될 수 있도록 이름 끝에 스테이지 번호를 붙여줬다.
위와 같이 언로드하는 함수도 게임모드 블루프린트 내에 만들어서 플레이 상황에 따라(i.e. 현재 스테이지 종료 시) 언로드 함수가 호출되도록 한다.
로드/언로드가 필요한 곳에서 위의 예시처럼 게임모드를 가져와 언로드와 로드를 실행시킬 수 있다.
'언리얼_엔진_게임개발_공부 > 언리얼 블루프린트' 카테고리의 다른 글
[언리얼/블루프린트] 충돌 감지 (overlap / hit), 시선 상 충돌 감지 (line trace / sweep) (2) | 2025.01.07 |
---|---|
[언리얼/블루프린트] 언리얼 AI 행동 구현 - Behavior Tree (0) | 2025.01.06 |
[언리얼/블루프린트] 플레이어 캐릭터 클래스 (0) | 2024.12.19 |
[언리얼/블루프린트] 애니메이션 & 사운드 - 강의 메모 (1) | 2024.12.18 |
[언리얼/블루프린트] 구구단, 슈팅 게임, 가위바위보 로직 구현 (1) | 2024.12.18 |