cloudpack あら便利カレンダー 2017 4日目の記事です。

経緯

VRで360度動画を閲覧するビューワーみたいなのを作ろうとなった。
ゲームとかじゃないのでWebVRがいいんじゃない、という話になった。
Web開発の知見も使えるし。
ってことで調べるとA-Frameという素敵なフレームワークに出会った。
これいい!ってなったのでこの記事書きました。

まず「Web VR API」と「WebVR」は違う

ややこしい言葉ですがこんな認識です。
WebVR => ブラウザで見れるVRコンテンツ(Web VR APIを使うかどうかに限らない)
Web VR API => ブラウザから対応端末の情報を取得できるAPI

Web VR API

  • 利用端末 Oculus RiftやHTC Vive
  • ブラウザ ChromiumとFirefox Nightly
  • HMD端末の情報を取得

WebVR(Web VR APIは使わない)

  • いわゆるハコスコVR
  • コンテンツはWebGLで頑張る
  • 端末情報はHTML5 API経由でスマホジャイロセンサー取得して頑張る

今回はスマホでブラウザからアクセスして箱に指すだけで楽しめるものについて取り扱います

WebVRコンテンツを作る

対応ブラウザはAndroid Chrome, iOS Safari,Chromeとしました。

フレームワーク

選択肢としてメジャーなのは以下

  • React VR
  • A-Frame
  • Three.jsでごりごり書く

今回はA-Frameを利用

  • HTMLタグで要素を置いていく
  • VR表示(2画面のやつ)はA-Frameがデフォルトで装備

入門記事はネットにいっぱいあるので割愛しますが、
360度パノラマ動画を再生するのに必要なコードは以下だけ