Help us understand the problem. What is going on with this article?

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

TL;DR

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

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

2019/12/20 現在の「メジャーなブラウザ」では Chrome 79 以降のみが「標準で」対応しています。
この「メジャーなブラウザ」というところが肝です。
スクリーンショット 2019-12-20 17.33.55.png
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 が表示される状態を指しています。
コメント 2019-12-20 173509.png
WebXR Device API に対応している場合に表示されるテキスト
source: https://immersive-web.github.io/webxr-samples/

なお Firefox のように、まだ WebXR Device API に対応していない場合でも WebVR API へのフォールバックで概ね体験可能です。
コメント 2019-12-20 173609.png
WebXR Device API あるいは WebVR API へのフォールバックで VR HMD が認識されているときに表示される状態
source: https://immersive-web.github.io/webxr-samples/immersive-vr-session.html
スクリーンショット 2019-12-20 17.48.45.png
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 にする必要がありました。

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 だけ!

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

現場からは以上です。


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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away