WebXR

WebXR（ウェブエックスアール）とは、ウェブブラウザでデバイスの位置，向き，加速度などの情報を取得するために用いられていたJavaScriptのアプリケーションプログラミングインタフェース（API）である。WebVR Device APIから用途をARまで広げたWebXR Device APIへの置き換えが進行している。

歴史
WebVRは，2014年の春にVladimir Vukićevićによって提唱された。2016年3月1日に WebVR API version 1.0、 2017年12月12日にversion 1.1がリリースされた。

WebVR APIの開発は終了しており、バーチャルリアリティ（VR）と拡張現実（AR）の両方に対応したWebXR Device APIに置き換えられる予定であるLegacy Specification. The WebVR API is being replaced by the WebXR Device API, but may still be available in some browsers while that API is finalized. This specification is preserved here for reference purposes. WebVR Spec。2019年4月23日にWebXR Editor's Draftが公開された。2019年12月現在、Google ChromeはWebXR Device APIをデフォルトでサポートしており、Chrome80にてWebVR APIは廃止される可能性が示唆されているRemoval is expected in Chrome 80. Chrome Platform Status - WebVR。

特徴
開発者側
WebXRを利用してWebページを作成することで、外部デバイスとしてVRヘッドマウントディスプレイ（HMD）やスマートフォンを認識できる。さらにはジャイロセンサやポジショントラッキング等の情報を取得することで、位置や姿勢、目の瞳孔間距離などのHMDの状態・情報を知ることが可能になる。またコントローラーに限定すると、WebVR APIではなくGamepad APIによってコントローラーの情報を取得する。

利用者側
WebXR APIを使うことで、利用者はWebブラウザからアクセスするだけでVRコンテンツが体験・利用できる。これによりURLをシェアするだけで他人に体験してもらうことができる。Webブラウザを入り口とするXR体験ということは、HMDのようなデバイスが必須であったこれまでのVR/AR体験とは異なり、デバイスを限定しないということを意味する。VR/ARは3Dを取扱うため、モバイル端末やスタンドアローンのHMDからアクセスした場合には、3Dのレンダリングに負荷がかかり処理が追いつかないことがある。しかし、第5世代移動通信システムである5Gのサービス提供が2020年に始まることで、「サーバー側で3Dレンダリングの処理を行い、モバイル端末では処理結果を表示する」仕組みで、低スペックの端末でも利用できることで、WebXRの活用の幅が広がると期待されている。

セキュリティー
WebVRはデバイスの動きや方向を取得するAPIであるが、ユーザーの同意なくセンサー情報にアクセスできる可能性があることから、iPhoneでは2019年3月25日に提供されたiOS 12.2よりsafariの設定「モーションと画面向きのアクセス」がデフォルトでオフとなった。これにより、ユーザーが自ら設定をオンとするか、ブラウザ起動後にポップアップにてユーザーの同意を得る必要がある。

WebXRを体験できる作品
Pepsi Go Back
The Searching Planet
Access Mars
Inside Music
Quake 3
Blair Witch
Konterball
Shopify VR
VR部
Google検索結果の「3Dで表示」

 WebVR対応 
WebXR対応している開発プラットフォームやブラウザでなければ、WebXR APIを利用することはできないため、以下に主要なものを列挙する。

開発プラットフォーム
Three.js
A-Frame
PlayCanvas
AR.js
Zapworks
React 360
Hubs

ブラウザ
Firefox Nightly
Samsung Internet for Gear VR
Experimental Chromium Builds
Microsoft Edge
Oculus Browser

脚注

参考文献



関連項目
WebXR Device API
WebGL
 VRML

外部リンク
Mozilla Developer Network
OpenXR

Category:HTML5
Category:仮想世界
Category:拡張現実
Category:コンピュータグラフィックス