WebVR と PanoSHOT!
https://game.fumi2kick.com/webvr-project/
WebVR の手習いで作成した小物ゲームを自サイトに置いた。試してみて欲しい。
VR HMD が無くても遊べるように作ってある。
PSVR は持っていて発売日以来楽しんでいたのだが、自分でコンテンツを作るということに関しては特に手を出してこなかった。
昨年末に発売された WindowsMR HMD +コントローラーを入手し、PC での VR ができるようになったとともに、これで楽しめるコンテンツの作成方法についてちょっと調べようという気分になってきた次第。
Unity とかだとビルド時にオプションスイッチつけるだけで VR コンテンツになったりして確かに簡単だったりする。
けど自分が面白いと思ったのは、ブラウザの WebGL と JavaScript で構成、配信されている WebVR の方だった。
WebVR は Sketchfab で使われており、VR HMD を用意した状態でコンテンツ表示の右下にある眼鏡ボタンを押すと 3Dモデルが VR 空間で閲覧できたりする。これがとても刺激的だった。
WebVR なら作ったものを httpd で配信できるというのも良い。ぜひ WebVR による VR コンテンツを作ってみたい、と思った次第なのである。
今だと Unity の WebVR アセットも配布されているのだけれども、それが出てきたのは 2018年2月で、私が調査していた 2017年12月頃は Unity であんままともな WebVR モジュールが無かった。
それ以外のゲームエンジンで WebVR 対応というと、メインの推進者である PlayCanvas あたりとなる。
PlayCanvas は昔触っていた事があり良いシステムだと思うけれども、IDE をクラウドで提供するビジネス故に成果物(作ったゲーム)のソースコードを共有する方向にはあまり向いていなかったりする。
なのでゲームエンジンというか開発環境から一段下げてゲームライブラリレベルのものを物色し、BabyronJS を選択した。
BabylonJS はマイクロソフトが開発している HTML5 向けオープンソースゲームライブラリで、TypeScript で書かれている。マイクロソフト的には BalyronJS で HTML5 のゲームを作成して、UWP にパッケージしストアに乗せてもらおうといった目論見っぽいんかな。
そんな訳で「BabyronJS を使って WebVR のゲームを作ってみました」というのが先述の “PanoSHOT!” となる。
Android スマホのレンズ箱 VR でも遊べるように作ったあたりは割と頑張ったつもり。
余談だが、昔作成した小物ゲームを Enscripten でコンパイルしてブラウザで遊べるようにしたものがいくつかあって fumi2kick.com のトップページからも張っている。良かったら遊んでみてほしい。
https://game.fumi2kick.com/
あまりにも力を入れておらずリンクだけ並べた HTML というので恥ずかしいが game.fumi2kick.com というサブドメインにまとめておいた。
game.fumi2kick.com にしたのは Chrome の WebVR チャレンジトークンの関係で https にしなければいけなかった、というのが正直なところである。Chrome においては早いとこ WebVR を Expetimental 扱いから実リリースにしてもらいたいところ。