蓬莱の備忘録

VRとか画像処理とか

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のプロジェクトを新規に作成します.プロジェクト名や保存先はなんでもいいです.
f:id:yuyusama_myon:20180803135041p:plain

File > Build Settingsを開きます.
PlatformでAndroidを選択し,Switch Platformボタンを押して確定させます.
f:id:yuyusama_myon:20180803140642p:plain

この時,Consoleビューにエラーが出ていないかを確認します.
Oculus GOのOSはAndroid (Version 7.1.2)ベースで動作しているため,Androdアプリ開発と同様にJDK (Java Development Kit)とAndroid SDKのインストールが必要となります.そのため,JDKSDKのパスが設定されていない,あるいはインストールがされていない場合は,以下のようなエラーが表示されます.

f:id:yuyusama_myon:20180803140645p:plain
詳しくは,こちらを参照してエラーハンドリングしてください.
          
Unity - Manual: Android environment setup

Oculus Go用のAndroid開発環境 (JDK/Android SDK)のパス設定

Unity側で,
Edit > Preferences.. > External Tools > Android
にあるSDKJDKのパスを設定します.とはいえ,インストール終了後にUnityを再起動すると,それらのパスが自動で設定されるようです.

XR Settings

次は,Oculus GO用のVRアプリ開発が行えるように設定をします.
Edit > Project Settings > Player > XR Settings
にあるVirtual Reality Supportedにチェックを入れ,Virtual Reality SDKsよりOculusを選択します.
f:id:yuyusama_myon:20180803161723p:plain

デフォルトのまま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を装着すると,作成したアプリケーションが無事に動作していると思います.
f:id:yuyusama_myon:20180803164425p:plain

おわりに

以上で,ひとまずはOculus GOの開発環境を構築することができました.
個人的には,床?の縁のジャギーが結構目立つと感じました.この辺りはVR空間の作り方次第なのでしょうか...?


次回は,Oculus GOのコントローラなどを試してみたいと思います.