본문으로 건너뛰기

VR

정보

VR은 Secure contexts 내에서만 사용 가능합니다. 작동하지 않을 경우 서버에서 TLS/SSL(HTTPS) 기능을 활성화해보세요.

view360.vr.enter() 호출을 통해 VR 세션에 진입 가능합니다.
LittlePlanetProjection을 제외한 모든 프로젝션에서 VR을 지원합니다.

const view360 = new View360(...);

// 버튼 클릭 핸들러 등에서 호출해주세요
view360.vr.enter();

준비물 (뷰어 사용자용)

VR 기능을 사용하기 위해선 특수한 기기가 필요합니다.
사용자는 VR을 사용하기 위해 반드시 다음 기기들 중 하나를 보유해야 합니다.

WebXR API & WebVR API (deprecated)

  • View360은 WebXR API만을 지원하며, WebVR API는 지원하지 않습니다.
  • WebXR이 지원되지 않는 환경에서 webxr-polyfill 사용을 고려해보실 수 있습니다.

iOS

iOS의 경우, 현재 이 문서를 작성하는 시점에 모든 버젼에서 WebXR Device API를 지원하지 않습니다.
때문에, iOS에서는 기본적으로 VR 기능을 사용할 수 없으며, ControlBar 플러그인에서도 VR 버튼이 표시되지 않을 것입니다.
WebXR Polyfill 사용을 시도해보실 수 있으나, 다음과 같은 이유때문에 완벽하게 동작하진 않을 것입니다.

Fullscreen

  • iOS 환경에서는 브라우저와 상관없이 Fullscreen API를 지원하지 않습니다.
  • VR을 제대로 렌더링하기 위해서는 풀스크린 API가 있어야 합니다. 그렇지 않고서는 주소 창에 의해 가려지는 등 VR 콘텐츠를 제대로 표시할 수 없는 경우가 발생합니다.
  • 때문에, iOS 환경 한정으로 동일 기능을 제공하는 네이티브 iOS 앱으로 연결하거나, 혹은 PWA 사용을 고려해보실 수 있습니다.

iOS 13+

  • 폴리필을 사용하시는 경우를 고려해서, View360은 VR 진입 전에 DeviceMotion Permission을 수령했는지 여부를 체크하고 있습니다.
  • 때문에, VR 진입 전에 Permission 체크를 수행하지 않았다면, vr.enter()를 호출하면 사용자에게 DeviceMotion 사용 허가를 수락할지 여부를 묻는 창이 뜰 수 있습니다.