はじめに
最近OculusQuestを入手できたので、Unityで開発環境を構築しました。
開発環境
Unity Hub 2.0.0 2.0.4
Unity 2018.4.0f2 2019.1.11f1
Oculus Integration- 1.37 1.39
参考にしたページ
Oculus Quest に Unity で開発したアプリをいれる方法(Mac/Win)
まずは、こちらの手順通りで実機で起動できることまで確認しました。
【VR】Oculus Quest+Unity開発
こちらに内容を参考に、視点の移動とTouchコントローラの表示ができるところまでできました。
Oculus Quest Development Guide
こちらは公式ドキュメントです。
そのほか
・Unity 2019.1.2f1, Unity 2019.1.4f1では、ビルドはできるのですが、実機上ではすぐ終了してしまい動作できませんでした。こうすれば動作できるなど情報いただけると助かります。原因がわからないため、当面、2018.4.0f2を使い続けることになりそうです。
@Horukasuさんの記事にあった通り、OtherSettings のGraphicsAPI をVulkan からAutoGraphicsAPIに変えたところ、2019.1.4f1でも実機上で動作できるようになりました!
QuestへのビルドがUnity2019.1.4f1で通らなかったお話(解決)
・Oculus Integrationのインストール中、OVRPluginのUpdateをするか聞いてくるのですが、自分の環境では、Yesを押した場合、後でビルド実行時にファイルの競合(OVRPlugin.dllとOVRPlugin.aar)が発生しましたので、Noにしたほうがよさそうです。なお、ファイルの競合が発生したときは、リネームすることでとりあえずは回避できました。
Oculus Integration-1.39では上記現象は発生しませんでした。
・(2019/7/28追記)
Oculus Questがアップデートされた後、コントローラの挙動がおかしくなるケースがあります。対処法について、@shienaさんがわかりやすくまとめられています。
Oculus Quest Build 7.0アップデート後に自作アプリがおかしくなった時の対策
WiFi経由でADB接続
ビルドする度にUSBケーブルを接続するのが面倒なので、WiFi経由でADB接続を試してみました。
手順は、
1. OculusQuestと開発PCをUSBで接続
2. "adb shell ifconfig"を実行してOculusQuestのIPアドレスを調べます
3. "adb tcpip 5555"のあと"adb connect IPアドレス:5555"を実行してWiFi接続
4. USBを外します
この後は、unityからビルドして実行で、WiFi経由で書き込みできます。
しかし、OculusQuestがスリープ状態にはいると接続が切れて1.からやり直しになるので
いまいち便利ではなかったです。
と思っていたのですが、OculusQuestがスリープから復帰した後(USB接続無しで)"adb connect IPアドレス:5555"を実行すると、再度WiFi接続できました。
Winsows PCからの接続手順やその他ADBの便利な使い方について、@divideby_zeroさんがわかりやすい記事を書いています。
Oculus Quest を ipアドレスで接続して楽々ケーブルレス開発
リモートデスクトップでUnity
リモートデスクトップ経由でPC上のUnityを使用して、ケーブルレスでOculusQuestをかぶったまま開発を実行できるようになりました。
Oculusブラウザからリモートデスクトップ