📝

#WebXR ( WebVR/WebAR ) の現状確認 2024 Winter

2024/12/25に公開

whoami

@ikkou a.k.a HEAVEN chan です。毎年恒例で、WebXR に関する最新情報や現状確認をテーマに記事を執筆しています。

https://zenn.dev/ikkou/articles/5d0b9bb6571485

https://zenn.dev/ikkou/articles/8ffc1c3ea92e9f

本エントリは『現状確認 2024 Winter』として、昨年からのアップデートを中心に 2024-12-25 現在の WebXR 周辺の現状に触れていきます。

本エントリを読めば WebXR に関する最新の業界動向 をある程度理解できることを目的としています。

具体的な WebXR コンテンツの開発方法や A-Frame や Babylon.js などをはじめとする各種ライブラリ・フレームワークの詳細な使い方には言及していません。

Update 2023 Winter to 2024 Winter

2023-12-01 JST に公開した『#WebXR ( WebVR/WebAR ) の現状確認 2023 Winter』から 1 年間の差分の中で気になるトピックスをピックアップしました。

  • WebXR Device API および関連する Module/API の最新ステータス
  • 主要ブラウザの WebXR Device API 対応状況
  • XR 関連デバイスの WebXR Device API 対応状況
  • Apple の WebXR 関連アップデート
  • Google の WebXR 関連アップデート
  • Niantic の WebXR 関連アップデート
  • Mozilla Hubs の終焉
  • 2024 年の WebXR 界隈の概観と 2025 年の WebXR 界隈の予測

■ WebXR Device API および関連する Module/API の最新ステータス

WebXR Device API と関連する Module/API の現況に大きな動きはありません。参考までに Immersive Web Working/Community Group の対象となっている Module/API の一覧は「List of specifications in Immersive Web Working/Community Group」としてまとまっています。

W3C の勧告プロセス

W3C の勧告プロセスは、かなり大雑把に言うと Editor’s Draft → Working Draft (WD) → Candidate Recommendation (CR) → Proposed Recommendation (PR) を経て正式勧告の Recommendation に至ります。より細かなプロセスは次のページを参照してください。

https://triple-underscore.github.io/w3c-standards-types-ja.html

2024-12-25 JST 現在、WebXR Device API と関連する Module/API の中で正式勧告の Recommendation またはそのひとつ手前の Proposed Recommendation (PR) になっているものはありません。

Editor’s Draft まではコミュニティドリブンの Immersive Web Community Group が中心になって策定を担い、Working Draft 以降は W3C メンバーのみで構成される Immersive Web Working Group が中心になって策定を担っています。

Immersive Web Working Group - Participants にメンバー一覧が掲載されています。Chairs を Apple, Google の方が務めている他、Magic Leap, Meta, Microsoft といったブラウザベンダーの方が多く参画しています。

https://www.w3.org/groups/wg/immersive-web/participants/

Candidate Recommendation Draft

Candidate Recommendation Draft は Candidate Recommendation (CR) に至るプロセスの途中にあり、Immersive Web Working/Community Group の総意を得られているものではありません。提案されている内容の実装はブラウザベンダーの自由に委ねられていますが、結果としてブラウザごとに差異が発生しています。

Working Draft

2024 年中に Working Draft から Candidate Recommendation Draft に移行した Module/API はありませんが、WebXR Lighting Estimation API Level 1 以外はアップデートがありました。

WebXR Depth Sensing Module が Meta Quest Browser v31.1 で実装

2024 年はそろそろ動くようになるかもしれない? としていた WebXR Depth Sensing Module が Meta Quest Browser v31.1 で実装されました。

https://x.com/rcabanier/status/1747667546147610824

動作は @cabanier san がポストしている Projection Layer with Multiview ではなく Projection Layer with Multiview の方がわかりやすいかもしれません。まだ試していない方は一度 Meta Quest Browser で試してみてください。

https://immersive-web.github.io/webxr-samples/layers-samples/proj-multiview-occlusion.html

Editor’s Draft

この 1 年間中に Editor’s Draft から Working Draft に移行した Module/API はありませんでしたが、WebXR Test API には更新が加えられています。特筆すべきトピックはありません。

Draft Community Group Report

2024 年は Apple Vision Pro のリリースに関連する形で The <model> element のアップデートがありました。

前述の通り Draft Community Group Report は Immersive Web Community Group が中心となって策定を進めているものですが、このステータスにあるものはブラウザの独自実装が進んでいます。

Incubations

Incubations はまだこれから議論が進められる段階にある “仕様の卵” です。議論が進むことで Draft Community Group Report に前進します。一例として The <model> element はこの Incubations のひとつでしたが、現在は Draft Community Group Report に移行しています。

2024-01-26 には @cabanier san によって新たに WebXR Body Tracking が生えました。

独自実装のアップデート

unbounded spaces

Meta Quest Browser v34.2 でガーディアンに制限されない unbounded spaces が実装されました。動作させるには chrome://flags から WebXR Experiments を有効化してください。

https://x.com/rcabanier/status/1813725726459535678

■ 主要ブラウザの WebXR Device API 対応状況

主要ブラウザの WebXR Device API 対応状況 (2024-12-25 JST 時点)
Image source. https://caniuse.com/?search=WebXR - 2024-12-25 JST

2023 年時点の状況から大きな動きはありませんが、Partial support のパーセンテージは 72.91% から 76.11% に伸びています。

各レンダリングエンジンの動作は、Windows 11 Pro 23H2 22631.4602 に Meta Quest 3 v72 を接続し、各ブラウザで WebXR Samples にアクセスして確認しています。それぞれのブラウザバージョンは別途記載しています。

先に結論から言うと 2024-12-25 現在、Windows PC × Meta Quest 3 の組み合わせで immersive-vr または immersive-ar が動作するブラウザはありませんでした
Safari はフラグすら立たず、Chrome, Firefox, Servo はフラグが立っても動作しません。

2023 年末時点では下記のように説明していた Blink (Chromium 系) ですが、2024-12-25 時点では navigator.xr は有効化されていますが immersive-vr, immersive-ar ともに動作しませんでした

レンダリングエンジンに Blink を搭載している Chromium 系の Microsoft Edge、Google Chrome、強力なプライバシー保護を謳う Brave は WebXR Device API に標準対応しているので、immersive-vr, immersive-ar ともに動作します。

かつては必要だった chrome://flags の変更も不要 です。現在はその設定項目もありません。

Can I use... では下記のように記されている通り、不安定な状況が続いています。

This API is very extensive. Many of its features are still in development and/or don't have finalised specs yet.

以前も同様の状態が一定期間発生していました。

https://zenn.dev/ikkou/articles/5b93a8ca150709

あるいは、いわゆる “おま環” の可能性も拭いきれないため、引き続き検証しています。

なお、Android デバイスの場合は Chrome をインストールしていたとしても ARCore supported devices であることが必要です。

この ARCore supported devices のページは、必ずしも最新の情報が記載されているわけではありません。例えば 2024-08-22 JST に国内で発売された Google Pixel シリーズ最新の Pixel 9 は当然 ARCore に対応していますが、このリストには記載されていません。

Gecko (Firefox 系)

レンダリングエンジンに Gecko を搭載している Firefox は Blink エンジン系とは異なり、about:configdom.vr.webxr.enabledtrue に変更する必要があります。これにより navigator.xr は有効化されていますが、残念ながら immersive-vr, immersive-ar ともに動作しません

WebKit (Safari 系)

レンダリングエンジンに WebKit を搭載している Safari は、これまで iOS, iPadOS, macOS のすべてで WebXR Device API に対応しない姿勢を貫いてきましたが、Apple Vision Pro に搭載された Safari ( 以降 Safari on visionOS と記載 ) でついに WebXR Device API に対応 しました。

Safari on visionOS については、後述する Apple パートで詳しく説明します。

Servo

Servo は Mozilla Research が開発を始め、現在は Linux Foundation が管理している レンダリングエンジン です。レンダリングエンジンではあるものの、ブラウザアプリも提供されています。

Servo は Firefox 同様に navigator.xr は有効化されていますが immersive-vr, immersive-ar ともに動作しません

■ XR 関連デバイスの WebXR Device API 対応状況


Image source. https://immersiveweb.dev/ より CC0 に則り全体が見えるように改変 - 2024-12-25 JST

W3C Immersive Web Working and Community Groups が運営する Immersive Web Developer には Support Table for the WebXR Device API として、主要デバイスの WebXR Device API と関連する一部の Module/API の対応状況がまとめて掲載されています。

大きなアップデートはありませんが、昨年時点では掲載されていなかった Servo が追加されています。

例年同様、新しいハードウェアの登場にあわせて 2023 年時点の状況から WebXR Device API に対応している XR 関連デバイスが増加しました。ただし、一部のデバイスは Discontinued となっています。

  • Blink (Chromium 系) のブラウザを搭載するハードウェア
    • Meta Quest Browser を搭載している Meta Quest 3, Meta Quest 3S
      • Meta Quest 2, Meta Quest Pro は 2024 年内に販売終了[1]
    • Edge を搭載している HoloLens 2
      • HoloLens 2 は 2024 年内に販売終了[2]
    • PICO ブラウザを搭載している PICO 4 シリーズ
    • Android XR デバイス
  • Firefox Reality (Gecko (Firefox 系)) 後継の Wolvic を搭載可能なデバイス
    • Huawei VR Glasses, Huawei Vision Glass, Meta Quest シリーズ, PICO シリーズ, Lynx R-1
  • 独自ブラウザ Helio を内蔵している Magic Leap 2
  • Safari on Apple Vision Pro
    • AR 相当の immersive-ar は動作しません

WebXR Device API と関連モジュールへの対応、そして独自拡張を踏まえると、WebXR に最適な XR デバイスは Meta Quest 3/3S 一強だと考えています。そして、ここに同じく Blink (Chromium 系) であることが想定される Android XR デバイスが入ってくることで、さらなる変化が生じるはずです。

2024 年に登場した Apple Vision Pro と 2025 年に登場するとされている Android XR については後述します。

■ Apple の WebXR 関連アップデート

iOS 18, iPadOS 18 における WebXR Device API の対応状況

状況は iOS 17 から変わらず、WebXR Device API に関するフラグは消失したまま、iPhone, iPad での immersive-vr, immersive-ar は期待できないままです。

https://zenn.dev/ikkou/articles/bed2525cb68c79

Apple Vision Pro における WebXR Device API の対応状況

2024-02-02 PST に US で、2024-06-28 JST に日本で、ついに Apple Vision Pro が発売されました 🎉🎉🎉

Apple Vision Pro の immersive-vr 対応と immersive-ar 非対応

visionOS 1 系ではユーザー自身で WebKit Feature Flags から WebXR Device API のフラグを立てる必要がありましたが、visionOS 2 系では初期状態で WebXR Device API のフラグが立っています

つまり visionOS 2 系では初期状態で immersive-vr が動作します

先のエントリにも記載していますが、Apple Vision Pro (Safari on visionOS) は現時点ではセキュリティポリシーにより immersive-ar が動作せず、おそらく今後も変わる可能性は低いと考えています。

セキュリティポリシーの文脈では、WebKit の Standards Positions で WebXR Raw Camera Access Module の懸念事項 (Concerns) に privacy が挙げられ、立場は反対 (oppose) となっています。


Image source. https://webkit.org/standards-positions/ - 2024-12-25 JST

現実世界に作用する AR に対しては否定的である反面、immersive-vr とその周辺モジュールへの対応状況は、今までの Apple を考えると格別に良く、今後にも期待できます。

Apple の独自実装

Safari on visionOS で動作する Apple の独自実装として次のものが挙げられます。

これらの独自実装を含め、2024-12-25 JST 現在、最新バージョンの visionOS 2 系における Safari on visionOS に関するアレコレについては、より具体的にまとめたエントリを既に公開している、本エントリではそのさわりのみ記載します。

https://zenn.dev/ikkou/articles/337f584f7581da

AR Quick Look

モバイル Safari に組み込まれた USDZ を表示する機能です。visionOS だけではなく iOS, iPadOS でも動作します。

Surface snapping

Surface snapping は visionOS 2.0 で AR Quick Look の補助機能として追加された、オブジェクトが平面に接地するときに「コツッ」という音を提示する機能です。

HTML <model> element

HTML <model> element は W3C で策定されている仕様のひとつですが、実質的には Apple 専用の仕様で、AR Quick Look が対応している USDZ だけでなく、GLB ファイルも表示する機能です。AR Quick Look と異なり、ユーザー自身で明示的にフラグを有効化する必要があります。

空間メディアの表示

visionOS 2 系から空間写真 (Spatial photos) とパノラマ写真の表示に対応しました。

これまで空間写真 (Spatial photos) の撮影は Apple Vision Pro のみが対応していましたが、2024-12-25 JST 現在は、初期状態で iOS 18 を搭載している iPhone 16 シリーズと、iOS 18.1 以降にアップデートした iPhone 15 Pro / Pro Max も対応しています。

空間写真 (Spatial photos) に関しては、JPG ではなく HEIC ファイルが必要となることに注意が必要です。

■ Google の WebXR 関連アップデート

Android XR の登場

2024-12-13 JST 深夜に Android XR が発表されました 🎉

https://blog.google/products/android/android-xr/

Android XR に関しては様々な視点から語られていますが、WebXR の文脈で特筆すべきは、使用するフレームワークとして、Android Jetpack XR、Unity、OpenXR に続き WebXR が挙げられていることです。そして Android XR の公開当初から Develop with WebXR のページも用意されています。


Image source. https://developer.android.com/xr - 2024-12-25 JST

https://developer.android.com/develop/xr/develop-with-webxr

Chrome for Android XR で利用できる WebXR 関連の API/Module

Android XR と言っても搭載されているブラウザは特別なものではなく、Chromium 系の Chrome for Android XR です。公開されている情報のみを正とすれば Android XR のみに用意されている API や Module はなく、次に挙げる一般的な API/Module が利用できるようです。

  • WebXR Device API
  • WebXR Augmented Reality Module - Level 1
  • WebXR Gamepads Module - Level 1
  • WebXR Hit Test Module
  • WebXR Hand Input Module - Level 1
  • WebXR Anchors Module
  • WebXR Depth Sensing Module
  • WebXR Lighting Estimation API Level 1

Apple Vision Pro では塞がれている WebXR Augmented Reality Module を利用できる、るまり immersive-ar が動作するのは嬉しいとともに、Apple との思想の違いを感じます。

Chrome for Android XR

2024-12-25 JST 現在、Android XR の実機で Chrome for Android XR の挙動を確認する手段はありませんが、公式のエミュレータで想定される動作をある程度確認できます。

本エントリではエミュレータのセットアップ方法は省きますが、公式が用意している Set up your development environment に従って進めれば問題ありません。


エミュレータの Chrome for Android XR で WebXR Samples にアクセスすると挙動を確認できる

エミュレータの Chrome for Android XR で WebXR Samples にアクセスすると immersive-vr, immersive-ar ともにサポートしていることを確認できます。

✔️ - VR support detected
✔️ - AR support detected

ただしエミュレータでは (当たり前と言えば当たり前ですが) Immersive VR Session も Immersive AR Session もその挙動を確認できません。

■ Niantic の WebXR 関連アップデート

WebXR 向けのゲームエンジン『Niantic Studio』

https://www.youtube.com/watch?v=iCBTIzBlmq4

Niantic は 2024-06-19 JST にビジュアルエディターを備えた WebXR 向けのゲームエンジン『Niantic Studio』をリリースしました。8th Wall のアカウントがあれば無料で利用できます。

https://x.com/the8thwall/status/1803095598461022370

https://www.8thwall.com/blog/post/170524048722/introducing-niantic-studio

Niantic は2022年3月に 8th Wall を買収[^niantic8thwall1][^niantic8thwall2]していて、当時はどうなるものかと思っていましたが、双方のシナジーを活かす形で良い取り組みが続いていて、この Niantic Studio もそのひとつだと言えます。

[^niantic8thwall1]https://nianticlabs.com/news/welcome-8thwall
[^niantic8thwall2]https://www.8thwall.com/blog/post/68143455050/8th-wall-is-joining-niantic

Scaniverse の WebXR 対応アプリ『Into the Scaniverse』

https://www.youtube.com/watch?v=yJ-5Qz3nHpM

Niantic は 2024-12-11 JST に Meta Quest で同社の 3D スキャンアプリ Scaniverse の 3D Gaussian Splatting を閲覧できるビューアーアプリのβ版、そして同社初の WebXR アプリとして『Into the Scaniverse』をリリースしました。

https://x.com/Scaniverse/status/1866584717862072616

https://nianticlabs.com/news/the-scaniverse-expands

この Into the Scaniverse は6月にリリースされた Niantic Studio で開発されています。開発の背景については 8th Wall Blog に公開されています。また、同アプリの開発にニュージランドを拠点とする NZ On Air 社が携わったことが記載されています。

https://www.8thwall.com/blog/post/183775565584/building-into-the-scaniverse-in-niantic-studio

その他のアップデート

■ Infinite Reality による Zapper の買収

WebXR の Zapworks を含む XR 関連ソリューションを長らく提供してきた Zapper が Infinite Reality に 4,500 万ドル (当時のレートで約67億円) で買収されました。

https://www.theinfinitereality.com/news/infinite-reality-acquires-extended-reality-xr-leader-zappar-strengthening-the-companys-immersive-technology-suite

Zapper の日本国内での知名度はそう高くないかもしれませんが、10 年以上に渡って XR 領域でビジネスを展開してきた名プレイヤーです。Exit の金額としての妥当性は判断できない側面もありますが、少なくとも WebXR 業界によっては大きな意味を持つと考えています。

■ Mozilla Hubs の終焉

2024-05-30 をもって Mozilla は Hubs 関連のサポートを終了しました。「WebVR プラットフォームの代名詞」と言っても過言ではなかった Mozilla Hubs ですが、このサポート終了に伴い、誰でも気軽に使えた Hubs のデモサーバーや、Hubs Cloud instances などのサービスがクローズしています。

https://support.mozilla.org/en-US/kb/end-support-mozilla-hubs

オフィシャルのアナウンスも上記のページを残すのみとなっていますが、2024年1月には「Hubs Cloud AWSマーケットプレイス」の提供が終了し、2月には Hubs Cloud の開発終了がアナウンスされていました。

Mozilla Hubs は個人的に推していたサービスなので非常に残念な限りではありますが、2020年8月時点で約 250 人がレイオフ、そして2024年2月にも約 60 人のレイオフが発生し、Hubs Cloud の開発終了が決定的となりました。

https://x.com/MozillaHubs/status/1293255254834728960

https://www.engadget.com/mozilla-is-laying-off-around-60-workers-210313813.html

この開発、サポート終了に伴い、Hubs Cloud をベースとしていた NTT DOOR などのサービスは移行サポートを始めました。

https://x.com/NTTDOOR/status/1788778236983587221

現在は Hubs Foundation が引き継ぐ形で Hubs Community Edition が提供されています

一定の技術を要するため、以前よりも気軽に試せなくなってしまいましたが、Beginner’s Guide が公開されているので、これから触りたい場合は目を通してみてください。

https://docs.google.com/document/d/1BXSxTNFLjx8dtz26_OAFJParGdz8qTE2XvVAxwoJwrQ/edit?tab=t.0

Chromium Based Wolvic の登場

Mozilla 社のレイオフに伴い Gecko エンジンの Firefox Reality の資産を受け継いだ Igalia は 🦊 の Firefox から 🐺 の Wolvic を開発し、Meta Quest 向けや Lynx R-1 に搭載されるなどの展開を続けてきました。

しかし、パフォーマンスを利用に Chromium エンジンを搭載した Wolvic のβ版を 2024-04-09 にリリースし、2024-09-17 にリリースした正式版の v1 を経て、現在は 2024-10-29 リリースの v1.1 が最新版となっています。

https://wolvic.com/blog/chromium_release_1.1/

ストア版は引き続き Gecko エンジン版であり、Chromium エンジン版はサイドローディングが必要ではあるものの、WebXR におけるレンダリングエンジンの選択肢は Chromium 一強という状況をより強める形となっています。

@react-three/xr のリリース

React っぽく Three.js を書けると話題の R3F こと React Three Fiber に WebXR 用途の @react-three/xr が追加されました。

https://x.com/BelaBohlender/status/1813243004695597455

https://pmndrs.github.io/xr/docs/getting-started/introduction

この @react-three/xr は Shopify Live Globe 2024 で採用されている他、XR/メタバースがテーマの国内最大級カンファレンス XR Kaigi 2024 では TIS 社が R3F 関連の発表を行い、展示エリアでも R3F 関連のブースを出展していました。

https://zenn.dev/ikkou/articles/d4909c5f5cd0a6

https://www.youtube.com/watch?v=c1AdT_jZ8Y8

https://qiita.com/ogwssk/items/039aefd6497afe6b9695

React はもはや Web フロントエンド屋にとっての一般教養になっていると思っていますが、慣れ親しんだ書き方で Three.js を扱って WebXR コンテンツを開発できるので、これまで興味を持っていなかった Web フロントエンド屋が WebXR 屋に転向あるいは領域を広げるきっかけになるのではないでしょうか。

Meta Quest Browser が MX Ink をサポート

Meta Quest Browser v35.1 でスタイラス型のデバイス Logitech[3] MX Ink がサポートされました。

https://x.com/rcabanier/status/1841896955091550612

MX Ink をお持ちの方はデモアプリで動作を確認できます。

https://engine.needle.tools/samples/line-drawing/?room=needle933

A-Frame にも logitech-mx-ink-controls という a-entity が生えました。

https://x.com/dmarcos/status/1848441421470273604

MX Ink をお持ちの方は A-Frame 版のデモアプリも確認してみてください。

https://aframe-logitech-mx-ink.glitch.me/

2024 年の WebXR 界隈の概観と 2025 年の WebXR 界隈の予測

前回のエントリから1年が経過し、答え合わせの時間です。昨年は Meta と Pico による PWA 推しのムーブメントを感じ、WebXR 屋としては PWA やっていきの気持ちで締めくくりました。

Meta 然り PICO 然りここにきて双方 PWA を推しているので、市場がこのムーブメントをどう捉えるかが肝になってくるのではないかと考えています。ひとまず WebXR コンテンツ開発者は PWA な WebXR コンテンツを作って各ストアに出しましょう!

蓋を開けてみると決して PWA 推しの機運がなくなったわけではありませんが、WebXR に限らず XR 業界全体を通して Apple Vision Pro がその話題の中心にあった ように感じています。

また、外資を中心にコロナ禍以降で発生しているレイオフの流れは Mozilla Hubs の終焉を招いた一方、Niantic × 8th Wall の取り組みや Zapper の買収のように悲観することばかりでもありません。

2025 年には WebXR もその対象に含まれる Android XR デバイスがリリースされます。Google はこれまで Google Glass, Project Tango, Google Daydream と XR 関連の取り組みを始めては終了するという “梯子外し” を繰り返してきていますが、Android XR に関しては以下の要因からそう簡単にやめることはないと考えています。

  • ブランディングとして重要な “Android” の名を冠していること
  • Sony, Lynx, XREAL がパートナーとして参画していること
  • Apple の Apple Vision Pro、Meta の Microsoft 連携の対抗手段であること

WebXR の観点で言えば (個別最適化は必要ではあるものの) 1 ソースで Apple Vision Pro, Meta Quest, Android XR の 3 プラットフォームに対して WebXR コンテンツを提供できることになります。もはややらない選択肢はなく、やるしかありません。WebXR 推しにとってはかつてない追い風が吹いているので、2025 年は各デバイス向けの取り組みが肝になると考えています。

一方で WebXR の主流は、iPhone, Android 単体のスマートフォンはまだしも PC ブラウザ × XR デバイスではなく、動作が容易な XR デバイス単体に移っていくような感覚も持っています。

2025 年も引き続き WebXR 業界が盛り上がることを願っています!


現場からは以上です!

脚注
  1. https://www.meta.com/ja-jp/blog/quest/meta-quest-3s-announced-connect-2024/ ↩︎

  2. https://www.jbs.co.jp/news/2024/1114 ↩︎

  3. 日本では Logicool ↩︎

Discussion