はじめに
最近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)]
(https://qiita.com/Tomoyuki_Mikami/items/be9b3bf605a5d953be1b)
まずは、こちらの手順通りで実機で起動できることまで確認しました。
【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で通らなかったお話(解決)]
(https://qiita.com/Horukasu/items/1809c57801018f449a02)
・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アップデート後に自作アプリがおかしくなった時の対策]
(https://qiita.com/shiena/items/0b7735a80e7d4358e5fb)
#WiFi経由でADB接続
ビルドする度にUSBケーブルを接続するのが面倒なので、WiFi経由でADB接続を試してみました。
手順は、
- OculusQuestと開発PCをUSBで接続
- "adb shell ifconfig"を実行してOculusQuestのIPアドレスを調べます
- "adb tcpip 5555"のあと"adb connect IPアドレス:5555"を実行してWiFi接続
- USBを外します
この後は、unityからビルドして実行で、WiFi経由で書き込みできます。
しかし、OculusQuestがスリープ状態にはいると接続が切れて1.からやり直しになるので
いまいち便利ではなかったです。
と思っていたのですが、OculusQuestがスリープから復帰した後(USB接続無しで)"adb connect IPアドレス:5555"を実行すると、再度WiFi接続できました。
Winsows PCからの接続手順やその他ADBの便利な使い方について、@divideby_zeroさんがわかりやすい記事を書いています。
[Oculus Quest を ipアドレスで接続して楽々ケーブルレス開発]
(https://qiita.com/divideby_zero/items/1151ab760cbaa3d43d45)
#リモートデスクトップでUnity
リモートデスクトップ経由でPC上のUnityを使用して、ケーブルレスでOculusQuestをかぶったまま開発を実行できるようになりました。
[Oculusブラウザからリモートデスクトップ]
(https://qiita.com/Satoshi_Takahama/items/5f1b0e8d38377e4b99eb)