Virtual Reality
VR 레퍼런스

VR 개요

Unity 5.1는 여러 VR 장치를 지원합니다.

개요

VR은 관례적으로 Unity의 외부 플러그인에서 지원되어 왔습니다. 이 방식에는 약간 단점이 있습니다 :

  • 어떤 VR 장치도 각각 고유의 플러그인이 필요합니다.
  • 그러한 플러그인이 충돌을 일으킬 수 있습니다.
  • 여러 장치를 지원하고, VR 장치용 플러그인의 활성화/비활성화를 전환하려면 불필요한 수고가 듭니다.
  • VR의 최신 SDK가 릴리스 될 때마다 오래된 게임이 작동하지 않을 가능성이 있었습니다.
  • VR과 비 VR 모드의 전환은 쉬운 일이 아닙니다.
  • 플러그인에서 카메라를 두 개로 나누는 방식으로는, 로우 레벨의 엔진 최적화를 할 수 없습니다.

Unity VR은 외부 플러그인을 필요로 하지 않고, Unity에서 VR 장치로 직접 전송하는 것을 가능하게 합니다. 장치 및 소프트웨어의 전방 호환성을 목표로 기반이 되는 API와 기능 세트를 제공하고 있습니다. 현재 API는 의도적으로 최소한의 것만 제공되고 있습니다. VR 개발자가 필요로 하는 기능에 대해 더 이해가 되면 확장해 나갈 예정입니다.

VR 지원 활성화하기

빌드한 응용 프로그램과 에디터에서 VR을 활성화하려면 Player Settings의 “Virtual Reality Supported” 옵션을 활성화하십시오.

VR을 사용하면 어떤 일이 일어나는가

Unity에서 VR을 사용하면 자동적으로 다소 변화가 일어납니다:

자동적인 입체 표시

  • 입체 이미지는 절대로 카메라가 두 개 필요하다는 뜻은 아닙니다. 렌더 텍스처가 없는 카메라는 자동으로 장치용으로 입체 렌더링합니다. 뷰와 프로젝션 매트릭스는 시야와 헤드 트래킹을 고려하여 조정됩니다.
  • 양쪽 눈 모두 계산량을 줄이기 위해 최적화가 자동으로 발생합니다.

헤드 추적의 자동화

  • 헤드 추적과 적절한 시야가 자동으로 카메라에 적용됩니다 (카메라 헤드 마운트 형인 경우).
  • 더 좋은 VR 체험에는, 지연이 더 적은 헤드 추적이 필수이므로, 이것은 기본적으로 이루어집니다.

카메라를 이해하기

  • 카메라의 위치 좌표는 헤드 추적된 상태에서 덮어써집니다.
  • 만약 카메라를 이동하려면 다른 게임 오브젝트의 자식으로 연결하고, 그 게임 오브젝트의 루트를 움직이십시오.
  • 직접 카메라를 움직이기 위해서 스크립트를 변경해야 합니다.
  • 사용자가 자연스러운 포지션에서 보고 싶은 곳을 볼 수 있도록 하기 위한 카메라의 위치와 회전에 대해 생각해 봅시다.
  • 중립 위치를 재설정해야 하는 경우, VR.InputTracking.Recenter()를 사용하십시오.
  • 특정 시야를 상정한 카메라를 조절해야 합니다. 시야각은 VR 장치에 의해 무시됩니다.
  • 카메라를 어떤 방향으로도 향해도 괜찮도록 씬을 고려해야 합니다.
  • VR 장치의 종류에 따라 카메라도 더 잘 움직일 수 있습니다.
  • 현재는 이동량과 잠그는 양을 가져오는 것은 Oculus SDK를 사용해야만 합니다. 이것은 미래에 Unity 기능으로 제공할 예정입니다.
  • 많은 카메라 이미지 효과는 VR에서 제대로 보이지 않습니다. 예 : 피사계심도(Depth of Field)

에디터 모드

  • 빌드 및 에디터에서 VR을 활성화하려면 Player Settings의 “Virtual Reality Supported” 옵션을 사용하십시오.
  • VR 장치가 Unity 에디터 모드를 지원하는 경우(예를 들어 Oculus DK2 등), 에디터에서 재생 버튼을 누르면 장치에서 직접 테스트 할 수 있습니다.
  • 에디터에서의 실행은 다소 오버 헤드가 있어, 적절한 프레임 속도로 렌더링하지 않은 경우, 지연이나 흔들림이 쉽게 느껴질 수 있다는 점에 유의하십시오.
  • 에디터의 렌더링 오버 헤드를 줄이기 위해 게임 뷰에서 “Maximize on Play”를 사용하는 것이 좋습니다.
  • Unity 프로파일러는 에디터 외부에서 실행한 경우의 성능이 어느 정도인지를 표시합니다. 에디터에서의 실행을 개선하기 위해 최적화를 시도하려면 에디터의 오버 헤드를 보기 위해 에디터 프로파일링을 활성화하십시오.

스탠드얼론 빌드 : VR 장치를 선택합니다

VR 모드를 시작할지 여부 옵션은 컴퓨터마다 저장됩니다. 현재 기본 설정은 VR 모드 off입니다. 이것은 나중에 변경될 수도 있습니다.

명령 줄에서 다음 인수를 사용해 Unity나 Unity 응용 프로그램을 시작하면 VR 장치를 선택할 수 있습니다 :

-vrmode DEVICETYPE

DEVICETYPEVR devices list에서 지원되는 장치 이름을 말합니다. 예를 들어,

Game.exe -vrmode oculus

혹은 로드된 장치 설정을 사용하여 런타임에서 VR 장치를 로드하도록 요청할 수 있습니다.

VR 장치가 로드되면(loadedDevice가 None 이외를 반환했을 때), VR이 활성화되고 [VR.VRSettings.enabled](../ScriptReference/VR.VRSettings- enabled.html)을 true로 함으로써 VR 장치에 렌더링을 시작합니다.

VR Device Information

VRDevice.family is a string corresponding to the current VRSettings.loadedDevice. A family can have multiple models which have different characteristics. For example: Oculus has DK2, Gear VR, etc. The model can be accessed with VRDevice.model.

Virtual Reality
VR 레퍼런스