개요 : 

누군가 나의 블로그를 보며, 힘을 내기를 바라는 마음에서 

저는 과거에 c언어를 공부하면서 Visual Studio에서 처음에 프로젝트를 생성하면서 이것저것 누르기가 두려웠던 경험이 있습니다 

 

이는 곧 실력 저하로 이어졌고, 다시는 이런 실수를 반복하지 않기 위해 이번 주에는 Unreal런처의 이것저것을 만져보면서

나만의 해석과 용어의 정리를 따로 저장할 생각입니다.

 

레벨 :

UnrealEngine의 공식문서를 보면 레벨이란 다음과 같이 나와있다.

레벨(Level) 은 게임 '월드'의 모든 것 또는 일부입니다. 환경, 사용 가능한 오브젝트, 다른 캐릭터 등 플레이어가 보고 상호작용할 수 있는 모든 것이 레벨에 포함됩니다. 일반적으로 비디오 게임에서는 여러 레벨이 있으며 레벨 간 전환이 명확히 구분되어 있습니다. 예를 들어 한 레벨의 최종 보스를 물리치면 다음 레벨로 이동하게 됩니다. 언리얼 엔진으로 제작하는 다른 유형의 인터랙티브 경험에서는 여러 가지 상황이나 환경 간의 전환을 위해 다양한 레벨을 사용할 수도 있습니다.

언리얼 엔진은 각 레벨을 별도의 .umap 파일로 저장합니다. 그래서 때로는 레벨이 맵(Maps) 이라고 불리기도 합니다.

 

마치 로스트아크의 레이드 내의 관문 시스템처럼

내가 현재 작업하고 있는 게임내의 특정공간이라고 생각이 든다.

 

또, 레벨에는 최소의 조건이 있는데 이는 다음과 같다

  • 레벨 그 자체인 .umap 파일. 다른 모든 것을 담는 용기라고 생각하면 됩니다.
  • 스태틱 메시 액터(Static Mesh Actor) 로 구성된 환경. 나무, 바위, 벽 또는 기타 환경 픽스처가 여기에 해당합니다. 또한 랜드스케이프 액터나 워터 액터 등 다른 종류의 액터를 사용하는 환경도 있습니다.
  • 스켈레탈 메시 액터(Skeletal Mesh Actor) 로 나타나는 플레이어 캐릭터.
  • 하나 이상의 다양한 라이트.
  • 앰비언트 사운드와 사운드 이펙트(예: 발걸음 소리).

 

월드

UnrealEngine 공식문서를 보면

 월드는 게임을 구성하는 모든 레벨이 담겨 있는 컨테이너입니다. 월드는 레벨의 스트리밍과 다이내믹 액터의 스폰(생성)을 처리합니다.

 

라고 나와있고, 모든 레벨의 집합체 !!  라고 해석이 된다.

그렇다면 과연 레벨의 스트리밍은 무엇일까?

 

공식문서에 따르면, 레벨의 스트리밍이란

레벨 스트리밍 기능을 사용하면 플레이 중에 맵 파일을 메모리에 로드하고 언로드할 수 있을 뿐 아니라 비저빌리티를 토글할 수도 있습니다. 이를 통해 월드를 더 작은 청크로 쪼개어 월드의 관련 부분만 리소스를 차지하게 하고 언제든지 렌더링되도록 할 수 있습니다. 레벨 스트리밍을 제대로 수행하면 플레이어가 월드 내에서 자신이 아주 작은 모습으로 플레이하는 듯이 느낄 수 있는 끊김없는 대형 게임을 만들 수 있습니다.

 

또한 그때그때 렌더링하면서 실시간으로 이루어지는 것처럼 보이는 리액트처럼 월드를 잘게 쪼개어 끊김이 없는 게임으로 만든다는 것으로 보아, 레벨간의 스트리밍이 중요해 보인다.

 

내가 해석한 내용은 다음과 같다.

전체 월드의 리소스는 수없이 많을 것이다. 이를 각 레벨별로 불러온다면 , 게임내의 네트워킹에서 수많은 데이터가 오고갈것이고, 이를 방지하기 위해 레벨마다 필요한 리소스를 불러오는 것 같다.

 

예를들어서 각자 마음에 드는 게임을 생각해보자.

나는 로스트아크라는 게임을 예로 들 것인데,

컷신이 진행되면 컷신내의 캐릭터가 맵에 여전히 있는 것을 볼수 있다.

이는 현재 레벨내의 공간에서 활용하는 리소스가 같기 때문에 일어나는 일이라고 생각이 들었다.

 

또한 각 레벨을 언제 어떻게 배치할 것이냐??

운영체제의 CPU 스케줄러 같다는 생각이 들었고, 앞으로 차차 프로젝트를 진행하면서 알게 되겠지만

기본적인 레벨의 배치는 보스레이드처럼 스테이지별의 레벨도 있겠지만,

레벨의 배치에 따라 트러블 혹은 게임내의 반응속도가 달라질것으로 생각이 든다.

 

 

아웃라이너 :  게임이라는 전체의 월드에서 그 중 일부인 레벨내의 요소들을

계층별 트리 구조로 나타냄으로써,

전반적인 레벨의 구조를 알 수 있다.

 

 

사진과 같이 LearningKit_Games_Showcase의 레벨 내의 요소들을 쉽게 확인할 수 있는 모습이다.

 

Details Panel

 

그림과 같이 한 인스턴스의 특징을 설정하는 장소이다!

 

//TODO :  진행하면서 내 생각이 맞는지 조사해보기

//TODO : 스새틱 메시 액터 , 스켈레탈 메시액터

+ Recent posts