DEV Community

HEAVEN ちゃん a.k.a いっこう
HEAVEN ちゃん a.k.a いっこう

Posted on • Edited on

3 1

Chrome 79 から WebXR Device API が有効になるも Oculus 系の HMD が認識されない件とその解決方法について

この記事は 2019-12-20 JST 付で Qiita に投稿したものです。
2020-08-25 時点で最新の Chrome v84 では本記事の方法で対応できません。

TL;DR

Ref. https://twitter.com/ikkou/status/1207912623443865600

Chrome 79 で WebXR Device API が正式サポートされました🎉

WebXR Device API はブラウザから Oculus Rift S をはじめとする (VR|AR|MR) HMD の情報を取得するための API です。

2019/12/20 現在の「メジャーなブラウザ」では Chrome 79 以降のみが「標準で」対応しています。
この「メジャーなブラウザ」というところが肝です。

Alt Text

source. https://caniuse.com/#search=WebXR

Chrome 78 以前はどうだったのか?

chrome://flags から以下のフラグを Enable にすると Chrome で WebXR Device API を通して Oculus Rift S で WebXR を楽しむことができました。

  • WebXR Device API: Enabled
  • Oculus VR support: Enabled
  • XR device sandboxing: Disabled

ここで言う WebXR を楽しむというのは、WebXR Sample PagesYes! が表示され、各サンプルで ENTER VR が表示される状態を指しています。

Alt Text

WebXR Device API に対応している場合に表示されるテキスト
source: https://immersive-web.github.io/webxr-samples/

なお Firefox のように、まだ WebXR Device API に対応していない場合でも WebVR API へのフォールバックで概ね体験可能です。

Alt Text

WebXR Device API あるいは WebVR API へのフォールバックで VR HMD が認識されているときに表示される状態
source: https://immersive-web.github.io/webxr-samples/immersive-vr-session.html

Alt Text

VR HMD が認識されていないときは VR NOT FOUND が表示される
source: https://immersive-web.github.io/webxr-samples/immersive-vr-session.html

Chrome 79 でどうなったのか?

まず WebXR Device API は標準対応となったため、chrome://flags から変更する必要がなくなりました!

標準対応となったので「これだけでいける!」と思っていましたが、実は Oculus Rift/Rift S に関しては別途フラグを立てる必要がありました。もともと Oculus VR support: Enabled を指定していたので、それかと思うとこのフラグは消えていていました!

結論として Oculus VR support に代わる Oculus hardware supportEnable にする必要がありました。

Ref. https://twitter.com/kettlecorn/status/1207880549991366656

Chrome 79 以降で WebXR を動作させるために必要なこと

  • Oculus hardware support = chrome://flags/#oculus-vrEnabled に変更
  • XR device sandboxing = chrome://flags/#xr-sandboxDisabled に変更
  • Chrome を再起動

上記の設定で 2019/12/20 現在 Chrome Beta, Chromium の最新バージョンである v81 まで動作することを確認しています。

2019/12/20 現在、WebXR Device API に「真の標準対応」しているブラウザは Oculus Browser だけ!

Ref. https://twitter.com/wakufactory/status/1207924277044867077

本記事では一切のフラグ変更を必要としないことを「真の標準対応」と表現していますが、これは W3C として定義している用語ではありません。そして Oculus Browser は決してメジャーなブラウザではない異端児です。

現場からは以上です。


Special Thanks: OE Waku さん - https://twitter.com/wakufactory

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay