概要
今回は、普通のoculus Goのコンテンツに、FirstVRを組み込んで遊んでみた記事です。
oculus Goセットアップ
oculus Goの開発をするにはまず、oculus GoはAndroidベースで動作するのでswitch platformでAndroidに変更しておきます。
続いて、Player Settingsの「XR Settings」にある、Virtual Supportedのフラグをオンにし、さらに「+」ボタンを押して「Oculus」をリストに追加します。
設定が終わったら、UnityのAsset Storeで配布されている「Oculus Integration」をimportします。
インポートが終わったら/Assets/Oculus/VR/Prefabs/
フォルダにある「OVRCameraRig」をシーンに配置します。
これが、oculus Goの操作をサポートしてくれるPrefabとなります。
そして同様に /Assets/Oculus/VR/Prefabs/
フォルダにある「TrackedRemote」を、たった今配置した「OVRCameraRig」の中、 OVRCameraRig/TrackingSpace/RightHandAnchor/RightControllerAnchor/
の下に配置します。
これを、以下のように配置します。
基本的にはこれを置いてビルドすれば、VRでの操作に関する内容はすべて対応できたことになります。
あとはコンテンツを作っていくのみです。
uGUIを扱う準備
oculus Goのセットアップは以上で完了ですが、uGUIを扱うにはもう少し準備が必要です。
今回は以下の記事を参考にさせていただきました。
ちなみに、バージョン違いの問題で説明されている方法だけだと正常に動作していませんでした。
記事で紹介されている「OVRInputModule」のインスペクタから行う設定で、「Cursor」の項目が新しく追加されており、これを適切に設定することで(記事で説明されているOVRGazePointerを設定すればOK)正常に動作しました。
FirstVRのセットアップ
さて、今回はoculus GoのコントローラとFirstVRを組み合わせるのが目的なので、同様にFirstVRのセットアップも行います。
詳細については以前の記事「FirstVRでカスタムジェスチャーの登録をするサンプル」をご覧ください。基本的なセットアップはこちらに記載されているものを同様のことを行います。
コンテンツを作る
さて。以上ですべてのセットアップが完了しました。
あとはこれらを組み合わせてコンテンツを作っていくことになります。
今回作ったのは非常に単純なシューティングゲームですが、アクセントとしてFirstVRを利用し、力を溜めることでシューティングの弾が強化される、というものです。
oculus Goにはコントローラがひとつしかなく、どうしても片方の手が手持ち無沙汰になりがちなので、それを利用しました。
↓実際に動かしてみた図
FirstVRとoculus Goコントローラを組み合わせてみる。 #FirstVR pic.twitter.com/n72FjyEphC
— edom18@VR (@edo_m18) January 29, 2019
ちょっと分かりづらいかもしれませんが、普通にトリガーを引いているだけだと小さな弾が射出されます。
しかし、FirstVRで登録したジェスチャを、もう片方の手で作ることによって弾の大きさを変えています。
(ジェスチャをしているところが見えないのでジェスチャしている感ゼロですが;)
手の形はいくつか設定することができるので、これを応用するともっと面白いゲームが作れそうですね。
例えば、グーだとパワーを溜める。パーだと眼の前にシールドが出てきて防御する、などなど。
コントローラの操作というのは、得てして複雑になりがちですが、手でこの形を作ってください、というのができない人はほぼいないでしょう。
そういう意味では、トリガーだけに集中させて、手の形で操作を変えていくやり方は結構ありかもしれません。
残念ながら今はPCで利用できないようですが、PCでも利用ができるとそれこそViveなどと連携して、コントローラ以外での入力として使うと色々幅が広がりそうですね。