유니티로 시간 변화가 반영되는 빅월드 만들기

▲ 라이트하우스 스튜디오 고정석 선임 매니저

인벤이 직접 주최하는 ‘인벤 게임 컨퍼런스(Inven game conference, 이하 IGC 2023)’가 금일(13일) 성남시 판교 경기창조경제혁신센터 지하 1층 국제회의장에서 개최됐다. 컨퍼런스 행사의 첫 번째 순서로 유니티 라이트하우스 스튜디오 고정석 선임 매니저의 강연이 진행됐다. 라이트하우스 스튜디오는 유니티를 사용하는 게임 개발사가 원하는 엔진 기능을 제작해주는 팀이다.

‘시간 변화가 반영되는 빅월드 제작 기술’이라는 주제로 진행된 이날 강연에서는 현재의 상용 엔진 기능만으로는 구현하기 어려운 복잡한 구조의 도시를 어떻게 구현할 수 있었는지에 관한 실제 사례가 소개됐다. 낮과 밤의 시간 변화, 수십만 개에 달하는 오브젝트가 존재하는 도시를 만들기 위해 유니티의 차세대 기술이라고 할 수 있는 DOTS(Unity’s Data-Oriented Technology Stack)와 독자적으로 개발한 기술을 활용했으며, 이를 통해 모바일에서 시간 변화가 반영되는 빅월드를 구현해낼 수 있었다는 것이 고정석 매니저의 설명이다.

라이트하우스 스튜디오에서는 게임 시장의 요구 사항을 반영한 기술을 개발하겠다는 큰 목표 아래 `모바일 플랫폼에서 시간의 흐름이 존재하는 밀도 있는 도시와 오픈 월드`를 만드는 것으로 프로젝트의 방향성을 결정했다. 여기서 두 개의 큰 허들이 발생했는데, 바로 `모바일`이라는 제한된 환경과 상용 엔진이 넘지 못하는 한계들이다. 고정석 매니저는 이러한 허들을 넘기 위해 새로운 기술을 개발해야 했고, 프로젝트에도 우선순위를 정할 필요가 있었다고 설명했다.

그렇게 결정된 것이 오픈월드에 앞선 `빅월드`의 구현이다. 고정석 매니저는 빅월드의 구현을 위해 월드 빌딩 에디터 툴과 런타임 매니저, 빛과 그림자 표현을 위한 타임 스트리밍, 근거리 디테일 스트리밍과 도시 표현에 활용되는 메가 오브젝트 기술 개발을 진행했다며, 직접 준비한 유니티 라이트하우스 테크 데모 영상을 소개했다. 영상에서는 뜨고 지는 태양과 흘러가는 구름, 이에 따라 시시각각 달라지는 오브젝트와 캐릭터의 그림자까지, 시간의 흐름에 따라 실시간으로 변화하는 대도시의 모습이 그려진다. 해당 프로젝트는 2024년에는 빅월드를 넘어 `오픈 월드` 구현까지 범위를 넓히고, 2025년에 이르러서는 멀티 플레이를 추가해 다음 유니티 버전을 통해 출시될 예정이다.

▲ 이날 강연에서는 ‘빅월드’ 제작 과정이 소개됐다

가장 먼저 프로젝트의 아트 전략이 소개됐다. 빅월드 프로젝트의 컨셉은 고대의 그리스로, 높은 밀도의 도시와 다양성 구현, 그리고 메모리와 컬링, 인스턴싱 최적화 설계가 주요 포인트다. 고정석 매니저는 근거리 최적화를 위해 LOD와 오클루젼 컬링, 그리고 DOTS 인스턴싱 기술을 사용했으며, 원거리 최적화에서 원하는 목표를 달성하기 위해 프록시 제너레이터를 개발 중이라고 설명했다.

이어 아트 구현에 활용된 메시 터레인(Mesh Terrain), 고저차(Altitude Differences), 키트배싱(Kitbashing), 어셋과 가이드라인이 500m x 500m 규모의 빅월드를 표현하는 과정에서 어떤식으로 사용됐는지 실제 사례들과 함께 소개됐다.

라이트하우스 팀의 빅월드는 제곱미터당 최대 모듈 개수 비율 32.7%, 세제곱미터당 최대 모듈 개수 비율 6.2%로 제한됐으며 작은 집은 14개, 큰 집은 88개, 대형 신전은 205개의 모듈이 들어가는 식으로 제한 규칙을 철저히 따랐다. 가이드라인에 근거하여 지어진 주택과 신전은 각각 14종이 제작됐고, 이외에도 236종의 고유 프랍과 9종의 식생이 사용됐다.

다음으로 스페이스 스트리밍에 대한 소개가 이어졌다. 여기선 DOTS 기반의 새로운 씬 데이터 컨테이너인 서브씬(Subscene)이 활용됐다. 빅월드 제작에서는 하나의 씬을 레이어로 먼저 나누고, 다음은 포지션으로 섹터 분할한 뒤, 이후 각 레이어와 섹터의 로드, 언로드에 저마다 다른 규칙을 적용한 것이 특징이다. 로비에서 데모씬으로 넘어가는 전체 게임 씬 로딩 시간은 갤럭시 노트20 기준 6.4초, 아이폰14 프로 맥스 기준 평균 2.2초가 소요되는데, 해당 사례를 통해 DOTS 기반 서브씬이 얼마나 높은 퍼포먼스를 보여주는지 엿볼 수 있다.

다음으로 메가 오브젝트 렌더링이 소개됐다. 빅월드 프로젝트에는 HLOD 대신 인스턴싱(Instancing)이 활용됐다. 인스턴싱은 관리 메모리 이슈와 복잡한 리소스 구조, 사전 작업에 대한 우려를 덜 수 있지만, 높은 수준의 레벨 디자인을 요구하고 머티리얼 수가 제한된다는 단점도 존재한다.

고정석 매니저는 이후에도 CPU와 GPU 중 어떤 쪽을 사용할 것인지 고민했다고 말했다. 사실 GPU 인스턴싱 쪽이 훨씬 빠르고 좋지만 사용하기 어렵고, 관리가 너무 어려워 솔루션이라고 부르기 애매한 상황이었기에 결국 일반 인스턴싱보다 빠르고 모바일 환경에 맞는 DOTS 인스턴싱을 활용하게 됐다고 설명했다.

▲ “모듈화된 레벨이 인스턴싱되어 그려지는 모습을 볼 수 있다”

심화적인 기술 부분을 생략하고, 다음 솔루션인 오클루젼(Occlusion)이 소개됐다. 빅월드 프로젝트에 활용된 Occlusion Culling Probe는 가려져서 보이지 않게 된 오브젝트를 컬링하는 솔루션이라고 할 수 있다. 고정석 매니저는 프로젝트를 위해 자체 오클루전 시스템을 구축했고, 관리가 오래걸리는 작업이었다고 회고했다. 발표자료로 2D로 표현된 예시 이미지가 제공되어 오클루션 컬링 프로브의 개념을 조금 더 가깝게 느낄 수 있었으며, 이어 3개의 주요 컴포넌트로 이루어진 오클루젼 프로브의 구조, 베이킹, 그리고 적용 과정이 차례로 빅월드에 적용된 사례와 함께 간략하게 소개됐다.

다음으로 프로시저 스카이(Procedure sky)가 소개됐다. 빅월드 프로젝트에서는 자연스러운 하늘 렌더링을 위해 물리 기반 렌더링이 활용됐다. 고정석 매니저는 레이어에는 하늘 외에도 구름과 달, 밤의 레이어가 계속 겹치므로 결국 어느 정도까지 미리 계산할 것인가가 중요한 부분이라고 설명했다. 이외에도 현실에서는 해가 있을 때 달이 뜨는데, 이를 똑같이 구현하면 디렉션 라이트가 두 개가 생겨버려 오버헤드가 커지므로, 그림자를 줄였다가 다시 늘리는 형태로 파라미터를 하나씩 조절해줘야 하는 어려움이 있었다고 덧붙여 소개했다.

이날 발표에서는 하늘 렌더링에 활용된 핵심 알고리즘과 모바일 플랫폼의 한계를 고려한 텍스처 방식, 편의성을 살린 씬 구조 등 자연스러우면서도 원활한 라이팅 표현을 위해 사용된 여러 고민들이 빅월드 프로젝트에 반영된 사례로 가볍게 소개됐다.

이어 글로벌 일루미네이션(GI)이 소개됐다. 고정석 매니저는 시간의 흐름을 표현하기 위해 독자적인 솔루션이 필요했다며, 유니티 기본 지원 기능 대신 직접 개발한 커스텀 GI 솔루션을 활용했다고 말했다.

빅월드 프로젝트 속 SDF와 BVH에 기반한 GI 솔루션은 디렉셔널, 스카이, 로컬 라이트 중 스카이 AO만 계산하는 형태이며, 낮과 밤에 따라 달라지는 빛 표현, 하늘의 차폐 정도에 따라 내리쬐는 빛의 양이 변화하는 모습을 구현할 수 있다. 이를 통해 간접광이 도달하지 않는 부분이 더 어두워져서 장면의 깊이감이 더해지는 등, 더 사실적인 빛과 그림자 표현이 가능해졌다.

다음으로 글로벌 쉐도우(Global Shadow)가 소개됐다. 오픈 월드의 그림자 처리에 기존의 Cascade Shadow Map(CSM)을 활용하면 성능 저하 등 여러 문제가 발생할 수 있는데, 이를 해결하겠다고 높은 해상도의 쉐도우맵을 쓰게 되면 프로젝트의 방향성인 모바일 환경에 적합하지 않게 된다.

때문에 빅월드 프로젝트에서는 근거리는 CSM으로, 원거리는 Contact Shadow로 그리는 방식을 채택하게 됐다. 고정석 매니저는 락스타 게임즈를 포함한 여러 게임사들이 실제로 활용하는 방법이라며, 이러한 조합을 사용할 경우 저렴한 비용으로 모바일에 적합한 쉐도우맵 크기, 고해상도의 근거리 그림자를 표현할 수 있게 된다고 말했다.

Contact Shadow는 Screen Space에서 ray-marching을 하는 기법으로, 그림자 안에 있는지 아닌지를 판단하기 위해 픽셀에서 빛 방향으로 마칭을 하게 된다. 어디까지나 Screen Space 상의 연산이므로 해상도와 마칭 횟수 외에 성능에 영향을 미치는 부분이 적은 것이 특징이다. 발표에서는 복잡한 수학적 요소들은 생략하고, CSM과 컨택트 쉐도우가 함께 사용됐을 때의 예시 이미지를 통해 그 효과를 한번에 이해할 수 있도록 소개됐다. 예시 이미지에서 근거리와 원거리 모두에서 해상도 차이가 나타나는 것을 확인할 수 있다.

마지막으로 빅월드를 구성하는 다양한 피처들에 대한 간략한 소개가 이어졌다. 도시 전체에 깔려있는 기본 구성요소인 도로를 만들 땐 베지어 곡선을 활용했으며, 이외에도 각 지형의 표면 재질 블렌딩, 식생과 오브젝트 배치 등 다양한 부문에서 세심한 고민이 반영됐다는 것이다.

고정석 매니저는 결과적으로 단조롭지 않으면서 아티스트가 간편하게 작업할 수 있는 자연스러운 표현이 가능해졌다며, 라이트하우스 스튜디오가 바라보는 다음 단계는 빅월드 구현에서 한발 더 나아가 ‘오픈월드’를 만드는 것이라고 전하며 발표를 마무리했다.

▲ 다양한 툴을 직접 만들어 빅월드 제작 과정에서의 편의성을 높였다

출처: 인벤

모바일 게임 PC 다운로드

 

 

녹스 앱플레이어는 안드로이드 게임이나 앱을 WIN·MAC 큰 화면에서 즐길 수 있는 앱플레이어(무료 소프트)입니다 . 녹스의 멀티 플레이 기능을 이용해 신규 에뮬레이터를 생성하여 스마트폰 몇개를 가지고 있는 것처럼 PC 한 대에서 동시에 리세마라를 진행 가능합니다. 라그나로크X 뿐만 아니라, 블루 아카이브, 좀비고, 쿠키런 킹덤등 인기게임들도 녹스를 통해 PC로 즐길 수 있습니다!

모바일 게임을 키보드와 마우스로? 클릭 한번으로 가상 키보드 실행이 가능하며 PC에서도 모바일 게임을 간편하게 체험할 수 있습니다.
최강의 멀티 플레이 멀티를 실행해 보세요! 멀티로 실행된 앱플레이어에 게임 운용이 동시에 가능합니다. 간편하게 여러 계정을 함께 실행해 보세요.
마우스 키 녹화 복잡한 조작을 심플하게 기록해 보세요. 다음에 게임 플레이 시 한번의 클릭으로 모든 것이 해결 됩니다.

 

 

 

녹스 앱플레이어로 리세마라 방법

녹스 앱플레이어 최적화 방법

 

감사합니다.


 

Nox 공식 사이트

 

 

 

도움이 된다면 북마크에 추가하시고 다른분한테도 공유부탁드립니다.