World Wide Web Consortium (W3C)は先日、WebXRのドラフト仕様を公開した。WebXR Device APIは「Web上で、魅力的で、快適で、安全な没入型アプリケーションを構築する開発者が、様々なハードウェアのフォームファクタに対応できるようにするのに必要なインターフェイス」を提供する。
WebXRは開発者がXR開発エクスぺリンスを開発できるようにする; この用語は、拡張現実 (AR:Augmented Reality)、仮想現実 (VR:Virtual Reality) そして新しく作られた没入型技術を含んでいる。ドラフト仕様の背後にあるImmersive Web Community Groupは以下のように説明する:
私たちはVRやARの一つの側面(またはその間にあるもの)に限定されたくないので、私たちは「あなたの現実」を示す代数として、大文字の「X」を使います。 私たちは「拡張現実(Extended Reality)」や「クロス現実(Cross Reality)」と呼ばれることもありますが、Xであればどちらでも大丈夫です!
多くのVR開発者は、UnrealやUnityのようなエンジンを使ってインタラクティブな仮想世界を構築している。プログラマーは、C#のような言語で、それらの世界の下のロジックを書いている。WebXRはWebVRにとってかわることを目指している。目標は、JavaScriptに精通した開発者に仮想現実、拡張現実、その他の没入型技術アプリケーションを促進し、多くのデバイスで利用可能にすることである。開発者はAndroidのARCoreとiOSのARKitの両方を利用するWebアプリケーションを開発できる。
WebVRは様々なヘッドセットを使って、WebでVRコンテンツを利用できるようにすることを目的に2016年に発表された。Immersive Web Community GroupによるとWebXR Device APIはWebVRに対して2つの目標を持っている:
- ボイスやジェスチャーなど、仮想空間におけるナビゲーションやインタラクションに対するユーザーの選択肢を提供する多様なユーザー入力をサポート
- ARエクスペリエンスを開発するための技術基盤を確立するために、クリエイターは現実世界のメディアに、エクスペリエンスを向上させるコンテキスト的にオーバーレイして統合する。
現在のバージョンのAPI仕様では主に以下が指定されている:
- 利用可能なVR/ARデバイスを検出する
- デバイスの機能を問い合わせる
- デバイスの位置と向きを確認する
- 適切なフレームレートで画像をデバイスに表示する
WebXRドラフト仕様には以下が追加されている:
WebXR Device APIの新しい機能には、ユーザーエージェントが緩和する対策を講じなくてはならない固有のプライバシー、セキュリティ、快適性のリスクをもたらす。[視線追跡や指紋など]
WebXRはまだ早期段階にあるが既にMozillaとChromeの両方がサポートしている。ただし以下の警告がある。
サポートされているデバイスの一覧には以下が含まれている(これらに制限はされない):
- ARCore互換デバイス
- Google Daydream
- HTC Vive
- Magic Leap One
- Microsoft Hololens
- Oculus Rift
- Samsung Gear VR
- Windows Mixed Realityヘッドセット
WebXR仕様に対するフィードバックとコメントはGithub issuesを通じて歓迎されている。議論はpublic-immersive-web@w3.orgアーカイブにある。