본문 바로가기

컨퍼런스 노트/KGC

(KGC2014) 제임스의 유산 개발과정을 통해 알아번 VR 게임 개발

(KGC2014) 제임스의 유산 개발과정을 통해 알아번 VR 게임 개발


1. 제임스의 유산

- 퍼즐 어드벤쳐, VR, 유니티3D, 2014년 7월 18일 개발 시작


- 제임스가 남긴 유산을 찾아 떠나는 모험이야기

  다양한 테마의 행성을 탐험하며 퍼즐을 풀고, 부여 받은 행성을 가꾸는 게임

  100% 싱글 플레이와 VR 기반


- VR 대중화를 위해 게임 마니아가 아닌 저연령과 여성에게 어필할 수 있는 게임


2. 왜 VR 게임을 만드는가?

- Facebook에서 오큘러스 인수


- 소니의 모피어스 개발


- 오큘러스 리프트 DK1을 시작으로 현재 DK2가 배송된 뒤 쏟아지는 VR게임들

  아직은 테크 데모, 체험판 수준이지만 140개가 넘는 VR전용 게임이 오큘러스 쉐어에 등록되어 있다.


- 가장 가능성 있는 차세대 게임의 방향


- 이미 알려진 해외 대형 게임사들은 이미 개발 시작


- VR을 전문으로 하는 개발사도 등장(Reload Studio)


- 아직 시장 생성의 단계, 경쟁자가 적다.


- 과연 대중화가 될까?

> DK1,2 모두 개발 킷 임에도 배송지연 문제가 될 만큼 많은 양이 판매

> 기대작, 혹은 이미 출시된 인기작들의 오큘러스 리프트 지원(스타 시티즌, 유로트럭2 등)

> VorpX라는 서드파티 드라이버를 통해 이미 출시된 게임도 즐길 수 있다.

  (어썌신 크리드, 배틀필드3, 바이오쇼크 인피니티 등 / 그러나 VR로 볼 수 있을 뿐 제대로 즐기긴 힘들 수도 있다.)

> 해외 게이머들의 관심은 이미 충분

> 소비자 버전 출시를 통한 대중화 단계만 남았다.


3. 기어VR과 DK2의 차이

- 기어VR : 노트4가 디스플레이 역할, 기기 자체 자이로 센서와 터치패드 보유, 안드로이드 플랫폼에서 구동하며 전원을

           노트4를 통해 공급 받아 선이 어딘가 연결될 필요가 없다.


- DK2 : 디스플레이를 내장한 HMD VR기기로 PC에서 구동, 포지셔널 트래킹을 지원해 더 실감나는 체험 가능


- 기어VR의 장점

> DK2에 비해 높은 해상도(1440p)

> 곧 출시 된다면 가장 완성도 있는 상용 VR기기가 될 것

> 오큘러스의 마켓을 통해 VR 에코 시스템 가동

> 수익 7:3으로 구글, 애플과 동일 구조

> 차후 오큘러스 리프트 PC버전도 연동될 것으로 보임


- 기어VR의 단점

> 포지셔닝 트래킹의 부재

> 갤럭시 노트4만 호환 가능

> 안경끼고 장착 불가능(DK2는 가능)

> 오큘러스 리프트 소비자 버전보다 낮은 영상주기


4. 제임스의 유산 개발과정

- VR의 핵심적인 장애물 : 멀미, 최적화, 조작+UI

> 제임스의 유산의 문제 : 멀미, 최적화, UI


- 첫 번째 문제 : 멀미

> 제임스의 유산은 탑 뷰, 탑 뷰로 빌드하자 엄청난 멀미가 발생

> 오큘러스 코리아의 조언 : 바닥을 내려보게 하면 많이 어지럽다. 3인칭은 고개가 정면을 볼 때 수평선을 바라보는 것을 추천

> 즉, 탑 뷰는 캐릭터의 움직임에 따라 내가 보는 땅이 움직여 어지러움이 발생한다는 것

> 수정하면, 수평선을 바라보게 되면 움직이는 땅의 면적이 줄어들고 하늘은 고정되어 어지러움 감소


- 두 번째 문제 : 최적화

> 화면이 2개가 되므로 성능이 저하된다.(좌안, 우안 각각 화면이 존재, 따라서 같은 게임을 2번 렌더링해야 함)

> 최적화 방법 하나 : Combine mesh

ㆍ나무, 풀, 울타리 등등 오브젝트의 텍스쳐를 하나로 만들고 메쉬를 합침

ㆍN개 였던 오브젝트의 drawcall이 1개가 됨

ㆍ단점1: 수정이 힘들다(수정이 필요하면 combine 해제 후 다시 combine)


> 최적화 방법 둘 : Tiny Texture

ㆍ행성 맵 하나에 소요된 텍스쳐 사이즈가 32x32

ㆍ컬러 테이블 형태로 텍스쳐를 제작

ㆍ메쉬에 하나의 컬러, 즉 1픽셀만 사용하기 때문에 최소한의 텍스쳐 사이즈만 사용해도 고퀄리티 표현 가능


- 세 번째 문제 : UI

> NGUI 사용 불가 : 기어VR에 NGUI와 유니티 3D버그로 NGUI 사용불가(3D 모델에 붙이는 플로팅 UI 형태의 UI가 불가능)

                   이를 해결하기 위해 그냥 3D로 UI 제작


> VR에 적합한 UI

ㆍ제임스의 유산은 퍼즐을 풀면서 얻게 되는 아이템을 보여주는 UI 필요

ㆍV일반적인 게임처럼 HUD형식의 UI를 시도했으나 외곽에 UI가 있으면 자꾸 고개를 그쪽으로 돌려 UI도 움직인다.


> 명확한 위치에 뜨는 플로팅 UI

ㆍ화면을 따라 다니지 않도록

ㆍ캐릭터 머리 위에 UI가 나오도록 하여 현재 위치를 어느 정도 인지하도록 유도, 초점 문제를 어느 정도 해결했다.

ㆍ헤드 트래킹을 적극 이용해 버튼이 아닌 바라보기 hold&confirm으로 UI를 on/off


> 가장 좋은 방법은 고전적인 UI를 쓰지 않는 것, 3D모델과 위치나 깊이를 공유하여 게임과 일체화 시키는 것이 중요


- 존 카맥의 습격 : 제임스의 유산을 플레이 해봤는데 이동시 캐릭터가 이동하는 것이 아니라 행성을 굴리는 형태로 변경하면 더 좋을 것 같다.

ㆍ삼성, 오큘러스 모두 여전히 게임이 어지럽다는 의견을 주었다. 이를 해결하기 위해 존 카맥이 해결방안을 제안한 것

ㆍ캐릭터 이동에 따라 카메라가 캐릭터를 따라다니는 방식에서 카메라와 캐릭터가 고정되고 바닥인 행성이 굴려지는 방식으로 수정

ㆍ장점 : 어지러움 감소와 더 아기자기한 비주얼로 표현이 된다.

ㆍ단점 : 구조가 달라져 많은 부분을 다시 만들어야 한다.


5. 교훈

- VR에서 어지러움을 줄이기 위해서는 고정된 화면과 움직이는 화면이 적절히 섞여야 한다.


- 1인칭이든 3인칭이든 화면에 큰 영역을 차지하는 멈춰있는 오브젝트가 중심을 잡아주면 어지러움을 줄이기에 더 좋다.

  (제임스의 유산의 경우 하늘)


- 기어VR이 겪는 문제는 발열과 배터리

> 모든 모바일 게임이 가지는 문제이기도 하다.

> 기기를 눈 앞에 두고 하깅 ㅔ발열에 대한 심각성이 높아진ㄷ.

> 배터리를 충전하며 플레이할 순 없다(발열이 더 심해진다).

> SDK 자체적으로 기기 온도가 높아지면 power save mode가 켜진다.(프레임이 절반 수준으로 하락)


- 기타 노하우

> 완전한 정면보다 15도 정도 아래를 바라보게 시점을 설게해야 유저가 편하다.

> 기어VR은 엔진에서 VR환경으로 테스트가 불가능하다.(헤드트래킹의 기능을 마우스로 가능하게 하는 것을 추천)

> 처음부터 VR게임을 개발하고 그걸 VR이 아닌 것으로 만드는 것이 훨씬 쉽다.