Unityで始めるOculus GOアプリ開発環境の構築手順(Windows)
はじめに
本ページは,筆者がOculus GOの開発環境を整える際に調べたりしたメモとなっています.
開発環境
- Unity 2018.1.6f1
- Oculus GO 32 bit
- WIndows 10 10.0.17134
Oculus GOのセットアップ
developer登録
まずは,Oculus GOのdeveloper登録を行います.
以下のリンクから新しい団体を任意の名称で登録を行ってください.
Oculus開発者ダッシュボード
Oculus GOを開発者モードにする
既にOculus GOアプリを購入したりで遊んだ方は,自身のモバイル端末にOculus GOアプリが入っていると思います.そのアプリから,以下のフローで開発者モードをONに切り替えます.
設定 > Oculus GO端末情報メニュー > その他の設定 > 開発者モード > ON
これで,Oculus GO側の設定はひとまずは終了です.
Unityのセットアップ
次に,Unity側のセットアップをしていきます.
Unityで3Dプロジェクトを作成
まずは,Unityで3Dのプロジェクトを新規に作成します.プロジェクト名や保存先はなんでもいいです.
File > Build Settingsを開きます.
PlatformでAndroidを選択し,Switch Platformボタンを押して確定させます.
この時,Consoleビューにエラーが出ていないかを確認します.
Oculus GOのOSはAndroid (Version 7.1.2)ベースで動作しているため,Androdアプリ開発と同様にJDK (Java Development Kit)とAndroid SDKのインストールが必要となります.そのため,JDKやSDKのパスが設定されていない,あるいはインストールがされていない場合は,以下のようなエラーが表示されます.
詳しくは,こちらを参照してエラーハンドリングしてください.
Unity - Manual: Android environment setup
Oculus Go用のAndroid開発環境 (JDK/Android SDK)のパス設定
Unity側で,
Edit > Preferences.. > External Tools > Android
にあるSDKとJDKのパスを設定します.とはいえ,インストール終了後にUnityを再起動すると,それらのパスが自動で設定されるようです.
XR Settings
次は,Oculus GO用のVRアプリ開発が行えるように設定をします.
Edit > Project Settings > Player > XR Settings
にあるVirtual Reality Supportedにチェックを入れ,Virtual Reality SDKsよりOculusを選択します.
デフォルトのままBuildをするとおそらく,以下のエラーが出ると思います.
Oculus Requires a Minimum API Level of 19. You have selected 16
API LebelはAndroidのバージョンごとに提供されているAPIを識別するためのものとのことでした.
https://developer.android.com/guide/topics/manifest/uses-sdk-element?hl=ja
先にも述べたように,Oculus GOのOSはAndroid (Version 7.1.2)ベースで動作しています.そのため,エラーによって指示されたAPI Lebelである19~25であれば,問題なくBuildに成功すると思います(因みに,筆者はAPI Lebelを19, 25のどちらにしてもBuildに成功しました).
Bundle Identifierの設定
同じく,"Other Setting"内にあるBundle Identifierにはデフォルトで,
com.Company.ProductName
と記述されていると思います.このままでは,Buildの際にエラーが出てしまうので,任意の独自ドメインに書き換えてください.
(アプリをBuildするだけならば,デフォルト値を変更するだけでエラーを回避することができますが,作成したアプリを公開などをする際には注意が必要です.基本的に,Bundle Identifierは(iOSではiPhoneBundleIdentifier)は独自のものである必要があるためです)
Build and Runの実行
最後に,UnityでBuild and Runを実行して,Oculus GOを装着すると,作成したアプリケーションが無事に動作していると思います.
おわりに
以上で,ひとまずはOculus GOの開発環境を構築することができました.
個人的には,床?の縁のジャギーが結構目立つと感じました.この辺りはVR空間の作り方次第なのでしょうか...?
次回は,Oculus GOのコントローラなどを試してみたいと思います.
参考
本稿を作成するにあたって参考にさせていただいたブログ等
UnityではじめるOculus Go VRアプリ開発 (Mac OS)
UnityでOculus Goの開発環境をセットアップしてみた - Yoshidayo diary