Game Programming/Game Engine

Unity3D :: Motion Sickness in Oculus (feat unity) / 유니티에서 오큘러스를 사용할 때 멀미 줄이기

VallistA2016. 8. 18. 17:21

VR에서 가장 중요한 작업은 바로 눈 앞에 디스플레이가 있기 때문에 피로 누적 및 멀미 해소가 가장 중요할 것이다.

VR을 조금이라도 착용해본 사람은 알겠지만 멀미가 장난이 아니게 난다. 먼저 멀미가 나는 이유부터 생각을 해보도록 하자.


일단 멀미가 나는 이유는 아래와 같다.


「 우리 몸은 평형 감각을 유지하기 위해 귀와 눈의 감각과 함께 다리근육을 이용하게 되는데 이 세가지 감각이 충돌을 일으키면 멀미를 하게 된다. 내이의 전정기관은 몸을 움직임을 인지하고 균형감각을 유지하는 역할을 하는데 이 기능에 이상이 생겨서 멀미가 나는 것이며 전정기관은 중추신경계를 자극하여 구토나 메쓰꺼움을 유발하기도 한다 」


VR에서 해당되는 사항은 HMD를 쓰고 캐릭터가 본인 의지가 아닌 키보드같은 장치에 의해서 움직이고 시각이 변할 때 매우 큰 매쓰꺼움을 느낀다. 이 문제는 HMD를 쓰고 사람이 직접 움직이면 전혀 나타나지 않는 현상인데 평형 감각을 유지하기 위해 다리근육등 감각이 움직이지 않은 상태에서 시야가 바뀌니 이질감이 들어 멀미가 날 수 밖에 없는 것이다.


예를 들자면 자동차를 자신이 운전을 한다면 멀미가 나지 않는다. 하지만 보조석에 타고있는 사람들은 운전을 잘 못할 경우 멀미를 느끼게 된다. 


그렇다면 Oculus등 HMD 기계에서는 멀미가 나지 않도록 어떻게 게임을 구상해야 하고 어떻게 플레이를 해야할까?


1. 멀미를 줄이기 위해서는 먼저 렌더링 설정에 대한 것이 필요하다.


말 그대로 멀미를 줄이기 위해서는 눈에 피로가 없어야 하며 쾌적해야한다.

눈에 피로가 계속 누적되면 멀미가 나는것은 당연지사며 게임은 좋아도 장시간 플레이를 못할 것이다.


이러한 현상에 대해서 글로 전달하기가 참 애매한데 당장이라도 어떤 모델링된 환경을 설정해놓고 유니티로 플레이를 해보면 건물들이 Aliasing 현상이 일어날 것이다.


(보기 1. Aliasing 현상. 출처 : https://www.youtube.com/watch?v=TpDuxfA4DOI)


이러한 Aliasing 현상은 현실에서와 틀려 괴리감을 유발 할 수 있기 때문에 이러한 현상에 대해서 Anti-Aliasing을 해주어야 한다.


Anti-Aliasing 이란? : 링크

Unity에서 Anti-Aliasing 적용 : 링크


(보기 2. Aliasing을 적용한 예제)


유니티 자체적인 설정으로는 이러하게 설정이 가능하다.

하지만 여기서 간과한게 있을 수 있는데 사람은 멀리 볼 수록 사물이 흐릿하게 보이는 것이 당연한 사실이다. 이러한 것들을 위해 Oculus에서는 Render Scale을 조정할 수 있게 설정을 해 놓았다. 기본적인 Render Scale의 값은 0.5이며. 게임에 따라 Render Scale을 조정하면 되겠다.


물론 Render Scale은 픽셀 쉐이더 단에서 조절하는 것이므로 선 연산에서 한 것들에 대해서 의미가 없을 수도 있는데 전혀 그렇지 않다.

Aliasing 있고 없고의 차이는 상당히 크다... 한번 Oculus로 테스트 해보길 권한다.


참고 링크


2. 렌더링 설정을 했으면 기본적으로 해선 안될 숙지 사항이 필요하다.


'플레이어가 직접 움직이지 않는데 캐릭터 독자적으로 움직이는 것은 피해야 한다'


HMD를 끼고 가만히 있는 상태에서  게임 캐릭터의 시점기준으로 움직인다고 했을때 위 아래로 고개가 움직이는 연출을 하면 어떻게 될까?

위의 멀미가 나는 이유에서 균형 감각에 대해 잘 적혀 있는데 눈은 움직이는 것을 보정하려고 전신의 운동기관의 데이터를 뇌에서 관측할 것인데 맞지가 않을 것이다. 이러한 문제는 멀미와 직결되며 이러한 것들에 대해서는 기획적으로 보충하려고 하는 노력이 필요하다.


물론 예외도 있는데 플레이어가 어떠한 것을 타고 가거나 운전을 하거나 할 때는 상관이 없다. 예를들자면 롤러코스터 VR 같은 경우에는 사람에게 멀미가 심하게 작용하지는 않는다. 


정리를 하자면 캐릭터 움직임과 플레이어 움직임의 괴리감이 있으면 안된다. 여러번 강조하지만 진짜 중요하다.

한번 경험하고 싶다면 HMD를 끼고 키보드로 wasd 키나 방향키로 캐릭터 머리 지점에 카메라를 심어놓고 움직이는 예제를 만들어서 테스트 해보도록 하자.



댓글

VallistA

병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.
현재는 이 블로그를 운영하지 않습니다.
vallista.kr 로 와주시면 감사하겠습니다!

자고 싶습니다. ㅠㅠ

Github      :: 링크

궁금한점 문의 주시면 답변드리도록 하겠습니다

VISITED

Today :

Total :

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘

Lately Post

Lately Comment