はじめに
Oculus Questも買ったことだしいっちょVR開発してみようと意気込んだはいいものの、調べても「前にOculus Goで開発したよね!!ここは共通だから省略するね!!!」という記事が多い…。Goで開発してなかった自分にとっては色々とややこしかったので、ビルドまでの一連の流れを省略せずにまとめることにしました。
使用環境
- Oculus Quest 64GB
- Macbook Pro (2017) 10.14.3
- Unity 2019.1.2f1
- Oculus Integration 1.37
- SideQuest 0.2.0
Oculus Questを開発者モードにする
- スマホのOculusアプリから、設定→Oculus Quest→その他の設定→開発者モードをオンにする
- 開発者登録をしていない場合、ここから団体を登録する
- USB-CケーブルでOculus QuestとPCを接続
- Questを被ると許可ウィンドウが出るので許可する
JDK, SDKのインストール
- Unity2019以降であれば、Unity Hubの Add Modules → Android Build Support → Android SDK & NDK Toolsをインストールすれば全てやってくれるらしい
- そうでない場合、こちらなどを参考にインストールする
- そうでない場合、こちらなどを参考にインストールする
Unity側の設定
- Oculus IntegrationをAsset Storeからダウンロードし、インポートする
- File -> Build Settings からAndroidにSwitch Platformする
- Android Build Supportが入っていない場合、インストールする
-
Player Settings -> XR Settingsから
Virtual Reality Supported
にチェック -
Other Settings (XR Settingsの2つ上)
-
Asset/Oculus/VR/Prefabsの中にあるOVRCameraRigをHierarchyに追加
- Main Cameraは消しておく
- OVRCameraRigのInspector -> OVR ManagerのTarget DevicesのElementを
Quest
にする- 出てこない場合、Unityを再起動したら出てくる(力技)
コントローラの表示 (Optional)
- Asset/Oculus/VR/Prefabsの中にあるOVRControllerPrefabを下図のように
LeftControllerAnchor
とRightControllerAnchor
の下に配置 - Leftの方のOVRControllerPrefab -> OVR Controller Helper -> Controllerを
L Tracked Remote
にする
ビルド
- File -> Build SettingsからBuildする
-
Build Successful
と表示されたら、プロジェクト直下にAPKが生成されている。
ハマったところ
Feature `out variable declaration' cannot be used because it is not part of the C# 4.0 language specification
TextMeshProが悪さをしているらしい。AssetとPackage両方に入っているのでAsset側のを消す。
Found plugins with same names, Assets/Oculus/VR/Plugins/1.37.0/AndroidUniversal/OVRPlugin.aar and Assets/Oculus/VR/Plugins/1.37.0/Android/OVRPlugin.aar. Delete the one of the duplicate plugins.
Found plugins with same names, Assets/Oculus/VR/Plugins/1.37.0/Win64/OVRPlugin.dll and Assets/Oculus/VR/Plugins/1.37.0/Win/OVRPlugin.dll. Delete the one of the duplicate plugins.
プラグインが2つあってビルド出来ない。それぞれAndroid
とWin
を消したらビルド出来たが、正しい対処法なのかは不明。
SideQuestでapkをインストール
- ADB installなどでやる方法もありますが、SideQuestを使うとめちゃめちゃ楽だったのでこちらを紹介します。
-
リリースページから
SideQuest-(OS_Name)-x64.tar.gz
をダウンロードする - 展開しSideQuestを起動する
-
Oculus Questをケーブルで接続しておく
Oculus Questから起動
参考にしたサイト
- Unity「Library/PackageCache~」でエラーが発生。簡単1発解決だった。 - lisz-works
- 【unity】Unity5.5から2018.2にあげたらTextMeshProがめっちゃエラーした - naichi's lab
- Oculus Quest向けのビルドとコントローラの表示メモ - JackMasaki’s blog
- Oculus Quest向けアプリの個人開発は可能か? 実機で確かめてみた | MoguraVR News - VRの「いま」を掘りだすニュースメディア
- Oculus Goで野良アプリを1からインストールするまでの手順|アンチソーシャル日記
- 【VR】Oculus Quest+Unity開発 - ロードバイク時々ものづくり
- Oculus Quest に Unity で開発したアプリをいれる方法(Mac/Win) - Qiita
- SideQuestを使ってOculus Questに非公式アプリ(apk)を楽々インストール | VRまにあっくす!
- 【VR】MirageSolo+Unity開発 - ロードバイク時々ものづくり