▣ 먼저 Window -> Levels를 클릭하여 레벨을 관리하는 창을 불러옵니다.
▣ 그리고 불러온 창에서 Levels에 Create New를 클릭하여 현재 레벨에 자식으로 속할 레벨 두 개를 생성합니다.
따로 레벨을 생성해서 불러오는 것도 가능합니다.
▣ 레벨 한 개를 생성하면 이런 식으로 부모레벨에 속한 레벨이 나오게 됩니다.
부모레벨은 계속 존재해야 할 레벨이고 자식레벨은 로드하고 언로드 하고를 반복하며 맵 전체를 디자인해야 합니다.
그래야지 커다란 맵을 생성할 때 최적화 부분에서 성능이 향상됩니다.
▣ 레벨 두 개를 생성하고 위에 이미지처럼 펜 모양 버튼을 클릭하면 이렇게 레벨에 대한 정보가 나오게 됩니다.
그리고 Loaded와 Visible에 대한 메뉴가 해제되어 있습니다.
이건 레벨에 대한 로드와 보이는 활성화 여부입니다.
해제된 상태에서 플레이를 클릭하면 레벨이 로드되지 않고 보이지 않습니다.
그렇기 때문에 시작이 되는 첫 번째 맵은 체크를 해주셔야 합니다.
저희는 Map1 Forest를 시작맵으로 활성화하겠습니다.
▣ 레벨과 레벨사이에 배치할 문 한 개를 Actor BluePrint로 생성합니다.
StaticMesh에 콜라이더를 충돌하지 않게 하고 BoxCollsion만 Overlap으로 충돌하게 합니다.
▣ 문에 EventGraph로 들어가서 Load Stream Level, Unload Stream Level 노드를 가져옵니다.
BoxCollsion에 충돌하면 다음 레벨이 로드되고 충돌을 벗어나게 되면 전에 있던 레벨을 꺼주는 노드입니다.
https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Game/LoadStreamLevel_byName/
https://docs.unrealengine.com/4.27/en-US/BuildingWorlds/LevelStreaming/HowTo/StreamWithBlueprints/
▣ Load Stream Level은 말 그대로 레벨을 불러오는 노드이고 Unload Steam Level는 로드한 걸 꺼주는 노드라고 생각하시면 됩니다.
그리고 각각 변수를 생성하고 Ediable을 클릭하여 에디터상에서도 변수를 편집이 가능하게 합니다.
▣ 문 블루프린트를 레벨에 꺼내서 변수 값을 지정합니다.
▣ 레벨을 따로 생성해서 Add Exsting를 눌러서 불러오는 것도 가능합니다.
▣ 컴파일 저장 후 문을 충돌 전에는 레벨 1에 대한 엑터만 나오게 되고 문에 닿으면 레벨 2가 로드되고 충돌을 벗어나면 레벨 1이 사라지는 걸 확인할 수 있습니다.
'[ Unreal5 ] > - 언리얼엔진5 실습' 카테고리의 다른 글
언리얼엔진5 설치 및 프로젝트 세팅 (0) | 2024.02.26 |
---|---|
언리얼엔진5 레벨디자인 (0) | 2024.02.21 |
언리얼엔진5 최적화(컬 디스턴스 볼륨) (4) | 2024.02.16 |
언리얼엔진5 시네마틱 (0) | 2024.02.15 |
언리얼엔진5 총알구멍 (0) | 2024.02.14 |
댓글