Unity - VR 개요

땡구의 개발일지·2025년 6월 12일

Unity마스터

목록 보기
40/78
post-thumbnail

가상세계 속으로 들어가 게임을 해보자!

VRXR의 종류 중 하나다. 일전의 포스트에서 XR의 개요에 대해서 다룬적이 있다. 관련해서는 해당 포스트를 참고하자

개요

VR은 최근 AR 요소에 필요한 현실요소를 컨텐츠에 반영하기 위해 기본적인 카메라를 탑재하고 있다. 이로 인해 VR과 AR의 벽이 점차 허물어지면서 MR의 시대로 넘어가고 있다

VR 구성 기기

  • Head Mount Display (HMD) : 머리에 착용하는 디스플레이 기기. 사양에 따라 내장된 센서가 다르다.
  • Controller : 손에 들고 조작하는 입력 장치. 단순한 키 입력에 그치지 않고, 컨트롤러의 이동과 움직임을 추적할 수 있다.

응용 분야

단순한 간접체험 컨텐츠로 시작한 VR이지만 기술의 발전으로 그래픽, 센서, 물리엔진, 인터페이스 등이 크게 발전하며 공간 인식, 입체감, 현실감 등의 향상이 이루어 졌다.

그로인해 게임, 교육, 엔터테인먼트 등을 넘어 건축, 의료, 자동차, 항공, 방위 등 여러 산업군에서 널리 사용되고 있다.

VR을 사용한 교육은 흥미롭고 참여도가 높은 효과를 보인다.

장점

  • 보다 높은 현실감 구현 : 양쪽 눈에 비춰지는 디스플레이를 통해, 현실과 같은 감각을 느낄 수 있다
  • 시간과 공간의 제약 극복 : 현실에서는 갈 수 없는 장소를 갈 수 있고, 즉각적인 이동이 가능하다
  • 위험없는 시뮬레이션 : 실제 세계에서는 겪을 수 없는 상황들을 겪어볼 수 있다. 지진, 화재와 같은 자연재해들을 시뮬레이션 해볼 수 있다.

단점

  • 장비가 필수 : VR 컨텐츠를 사용하기 위해서는 VR 기기가 필수적으로 요구된다
  • 최소한의 공간 필요 : 카메라 회전은 사용자가 직접 고개를 돌려야한다. 그리고 컨트롤러를 휘두르거나 뻗는 동작들을 위해 공간이 필요하다
  • VR 멀미 : 사용자의 실제 감각과 VR에서 출력되는 결과 사이의 불일치가 주요 원인이다.

VR 프로그래밍 유의점

VR은 프로그램을 제작하는 기획자와 프로그래머의 역량에 따라 큰 사용성의 차이를 보인다. 소비자 개인의 취향뿐만 아니라 VR 멀미, 시각적인 어색함, 성능 최적화 등등 고려해야 할 사항이 많다.

  • 최적화 : VR 컨텐츠는 고사양의 그래픽 성능을 요구한다. 그러므로 성능 최적화를 고려한 개발은 필수.

  • VR 멀미 : 현실과의 감각 차이로 인해 3D / VR 멀미가 발생한다. 오브젝트와의 상호작용, 카메라의 무빙 등의 요소를 고려해 VR 멀미가 최소화 될 수 있게 설계한다.

  • 사용성 테스트 : 사용자는 컨트롤러를 통해서 제한적인 상호작용을 하므로, 편하게 상호작용을 할 수 있게 설계한다.

  • 사용자 안전 및 윤리 고려 : 사용자의 동작 범위를 고려해서 게임을 프로그래밍 해야한다. 현실감 높은 컨텐츠이니 만큼, 게임이라서 고려되지 않았던 윤리 요소들 또한 다시금 고려되어야 한다


핵심 기술

VR에는 어떠한 기술들이 사용되는지 알아본다

Tracking System


사용자의 움직임회전을 추적하고 이 정보를 가상 세계에 적용한다. 이를 통해 가상 세계에서 자연스러운 상호작용이 가능해진다. VR에서는 일반적으로 6DoF(Depth of Field)를 사용한다

Real-Time Rendering

3D 게임과 같은 내용이다. 사용자의 상호작용에 따라 실시간으로 3D 화면 렌더링하는 기술.

Interaction


VR 전용 컨트롤러에 가해지는 사용자의 입력, 손짓등을 통해 가상 세계와 상호작용 할 수 있도록 하는 기술을 사용한다. 딜레이없이 즉각적으로 반영이 될 수 있게 설계해야 한다


UI/UX

  • 사용자 경험(UX). User eXperience

현실과 유사한 컨텐츠를 제작하는 만큼, 직관인 경험 제공이 필요하다. 사용자는 VR 헤드셋컨트롤러 등에 의존하게 되므로, 더 사용하기 쉽고 에러가 적은 UX를 설계해야 한다.

설계 시 주의사항

UI의 경우 아래와 같은 요소들을 신경써야 한다

직접 공간에 배치

UI를 월드스페이스에 직접 공간에 배치해줘야 한다.

입력방식

Ray를 통해서 상호작용. 시선을 통해서 상호작용. 직접 가서 누르는 방식의 상호작용 등 가능

선택 피드백 제공

상호작용에 따른 피드백을 제공한다

사용감 고려 설계

사용하는 데에 불편하지 않게 해야한다

profile
개발 박살내자

0개의 댓글