はじめに
先日Oculus Questを購入しました.
PC不要のスタンドアロンで6DoFのVR体験ができるのは本当に素晴らしいと思います.
とりあえずVRをやってみたい方には非常におすすめです.
一方でOculus Quest対応のアプリはまだまだ種類が少ないのが現状で,自分でアプリを開発してみたい方もいると思います.
本記事ではUnityで3DアプリをビルドしてOculus Questで動かすまでの手順を備忘録としてまとめます.
開発環境
Unity 2018.3.5f1
Open JDK 1.8.0_152
Android SDK
Unityは最新版ではありませんが,2017.x以降なら同じような手順で開発できるようです(未確認).
本記事ではUnity,JDK,Android SDKは導入済の前提で解説しています.
Unityがない場合は,公式サイトから入手できる Unity Hub からインストールしてください.
JDKがない場合は,ORACLE Java SE download 等から入れてください,
Android SDKがない場合は,Android Studio 等から入れてください.
Oculus Questの準備
ペアリング
Oculus Questの初期設定を行います.
スマートフォンにOculusアプリをインストールしてヘッドセットとペアリングします.
開発者モードの有効化
最初に Oculus Dashboard でログインと開発者登録を行います.団体名に適当な名前を入力すればOKです.
開発者登録を行なっていないOculusアカウントでは開発者モードの有効化ができなかったので,作成したアプリを公開等するつもりがなくても必ず開発者登録が必要だと思われます.
アプリの作成
プロジェクトの作成
Unityで3Dのプロジェクトを作成します.プロジェクト名と保存先を入力して作成をクリックします.
Oculus用のアセットをインポート
UnityのAssetStoreから Oculus Integration をダウンロードしてインポートします.
Build設定
File > Build Settings を開いてPlatformにAndroidを選択し.Switch Platformをクリックします.
もしUnityにAndroid Build Supportのモジュールがインストールされていなければ,画面の指示に従ってダウンロード/インストールしてください.
次にBuild Settingsの左下にあるPlayer Settingsをクリックします.
InspectorウィンドウのOther Settingsを選択して,Minimum API Levelを19に変更します.
デフォルトではAPI Level 16に設定されていますが,Oculus用にBuildするためにはAPI Level 19(Android4.4)以上が必須です.
次にInspectorウィンドウのXR SettingsからVirtual Reality Supportedにチェックを入れます.
Virtual Reality SDKsの追加でOculusを選択します.

Build And Run
PCとOculus QuestをUSB Type-Cケーブルで接続します.
macbook proのようにUSB-Cが挿さるPCで開発している場合はOculus Quest付属のケーブルでそのまま接続できます.
そうでないPCの場合は別途変換用のケーブルを用意する必要があります.
試しに現在のSceneに適当にキューブを配置してみて File → Build And Run をクリックします.
Buildが終わったらアプリが起動します.
無事にアプリが実行できました.
一度 Build And Run を実行したアプリケーションは,Oculus Quest内の ライブラリ > 提供元不明のアプリ から起動できます.
Oculus Touchコントローラーの表示
最後にOculus Touchコントローラーを表示する方法を説明します.
初めに現在のSceneに Oculus > VR > Prefabs 内にあるOVRCameraRigを追加します.
また,最初からSceneにあったCameraは不要なのでDeleteします.
次にinspectorウィンドウから,OVR Manager (Script)のTarget DevicesをQuestに変更します.
次にOVRCameraRig内にある左右のControllerAnchorに Oculus > VR > Prefabs 内にあるOVRControllerPrefabを追加します.
最後に左のコントローラーに追加したOVRControllerPrefabについて,inspectorウィンドウのOVR Controller Helper (Script)からControllerの部分をL TrackedRemoteに変更します.
もう一度Buildしてコントローラーが表示されればOKです.
おわりに
アプリ開発がんばっていきたい.
Oculus Questはいいぞ!


