遅ればせながら、Oculus GOを購入しました。この記事では、 Oculus GOを購入してから、Unityのひらがな撃ち合い風FPSゲームをビルドするまでについて書きます。
- PC側の設定
- Unity側の設定
- Oculus Goにビルド
- FPSゲームをやってみた感想と問題点
- アプリの消し方
電源(充電アダプタ)がデフォルトでは付属していないので、予め購入しておくと良いと思います。
スマホとWIFIを使って、一通り設定を終わらせます。重要なので二度書きますが、スマホとWIFIがないとOculusGOの設定ができないので、電源(チャージャー)、スマホ、WIFI環境が無いと多分設定ができないか、面倒な事になると思います。
設定が終わって、一通りYOUTUBEとかで遊び、ジェットコースターに酔ったりしたところで、OculusGoの設定を始めました。まず、参考にしたサイトは下記の2つでほぼ網羅していると思います。補足などを私が追記することにします。
UnityではじめるOculus Go VRアプリ開発 (Mac OS)
0.開発者用Oculus Goの設定
開発者用のOculusGOの設定は、上の2つのウェブサイトに描かれている通りに行いました。特に追記も無いほど簡単だったので、それについてはこの記事には書きません。上のリンクより設定方法をご確認ください。
1.PC側の設定
まず、前提としてOculusGoはアンドロイドであるそうなので、そのためのPC側の設定をする必要があります。もうしてある人はこの章は不要です。
まずは、Java SE Development Kit をダウンロード、インストールします。
次に、Android SDKのダウンロードとインストールを行います。公式のウェブサイトからダウンロードできます。
調べると、ここで二択をどうすればいいのかについて書いてあるウェブサイトがありましたので転載します。これを読めば、初めてダウンロードする人は下の選択肢を選べばよいという事が分かります。
これで、事前処理は終わりです。次はUnity側の設定とビルドになります。
2.Unity側の設定
ビルドの仕方なのですが、上の方に転載した記事の通りに進めました。Unityのバージョンが違うせいか、ウインドウの配置などが異なるので、私の環境での見え方を参考までに張り付けておきます。
PlayerSettingを開きます。そして、XR Settings のVirtual Reality Supportedに✔を入れますそして、+ボタンからOculusを選びます。
そして、Other SettingsのIdentificationから、Package Nameを分かるように変えます。それから、上の記事によるとMinimum API LevelをKitKat(LV19)にするようです。これは今の所何の設定なのか分かっていませんが。
最後にPreferenceのExternal ToolsでAndroid SDKのパスとJDKが有効になっている事を確認します。
これでUnity側の設定は終了です。
3.Oculus Goにビルド
次に、OculusGoをPCにUSB接続します。「allow usb debugging ?」 と聞かれたので 「always allow from this computer 」に✔を入れました。そして、ビルドを実行します。この時、場所を聞かれるのですが、OculusGoはウィンドウから選択できません。よってどこにビルドすればいいんだろう?としばらく考えたり調べたりしました。
これはどの記事にも書いてなかったのですが、ビルドの場所はあまり関係ないのか、デフォルトで開かれたフォルダを変更せずに、名前.apkとして保存すると、なんとPCに繋いであったOculusGoに自動的に転送されました。仕組みは謎です。
転送が終わり、OculusGoを被ると、Unityのロゴが出てきて、アプリがスタートします。
4.FPSゲームをやってみた感想と問題点
やった、FPSゲームが動きました!まず、良い所から感想を。首を回すと辺りを見回せます!そして狙った方向に顔を向けてトリガーボタンを押すときちんと撃てます。まるでゲームの世界にいるかの様。しかし、いくつかの問題点も発覚。
まず、FPSなのにその場から全く動けないという致命的な事が判明!残念ながらスクロールが前進や、後進、横移動に自動対応している訳ではないのですね。それからUIの照準と文字が見えません。これもデフォルトでは対応していないようです。
前進、後進、横移動について、OculusGoを使用してできないか色々調べてみたところ、やはりもうやっている人がいるのですね。FPS風に車を動かしている人がいました。
これはかなりのヒントになりました。というかほぼ答えです。OculusGoには付属のコントローラーというものがありまして、それの先端に向かって上の部分がスクロールできるようになっているのですが、これがAxis2D.Primary.Touchpadを検知するようになっているみたいです。
詳しくは下の記事の添付画像に各ボタンが何を検知しているのかの解説がありましたので転載します。レーザーも見える化できるようなので心躍ります。
次の問題点の、UIの表示なのですが、これも対応できそうな記事を作成されている方がいらっしゃいますね。素晴らしいです。
Oculus GoのコントローラからレーザーポインタによりUIを操作するまで
OculusGoをuGUIに対応させる #OculusGoDev
これらの記事を見る限り、現時点で私はできませんが、おそらくはできるようになるはずだと思います。
5.アプリの消し方
気になるのがアプリの消し方です。ホームボタンを戻すとゲームを止める事が出来ますが、アプリ開発の際に溜まってしまったら、消すことが必須です。
戻るボタンを押して、アプリを終了すると、提供元不明のアプリとしてライブラリの中に保存されている事が確認できますが、Oculus Go側からはアンインストールできないようです。
調べてみると、アプリを消すためにはコマンドプロンプトからできる(Windowsの場合)ようです。下記に方法解説をしているサイトを転載します。
今日の所はとりあえずUnity自体がOculus Goで動いてくれたので大満足です。これからゆるゆるとコントローラーのカスタマイズを行っていきたいなと考えている次第です。