tutorial
Unity
VR
OculusQuest

はじめてのOculus Quest 開発 with Unity


はじめに

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をインストールすれば全てやってくれるらしい


    • そうでない場合、こちらなどを参考にインストールする
      Screen Shot 2019-06-05 at 15.21.28.png
      02.png




Unity側の設定



  • Oculus IntegrationをAsset Storeからダウンロードし、インポートする

  • File -> Build Settings からAndroidにSwitch Platformする


    • Android Build Supportが入っていない場合、インストールする




  • Player Settings -> XR SettingsからVirtual Reality Supported にチェック



    • Virtual Reality SDKsにOculusがない場合+から選択する
      1.png
      2.png




  • Other Settings (XR Settingsの2つ上)



    • Package Nameを適当な名前にする


    • Minimum API LevelAndroid 4.4 'KitKat'にする
      3.png




  • Asset/Oculus/VR/Prefabsの中にあるOVRCameraRigをHierarchyに追加


    • Main Cameraは消しておく



4.png


  • OVRCameraRigのInspector -> OVR ManagerのTarget DevicesのElementをQuestにする


    • 出てこない場合、Unityを再起動したら出てくる(力技)



5.png


コントローラの表示 (Optional)


  • Asset/Oculus/VR/Prefabsの中にあるOVRControllerPrefabを下図のように LeftControllerAnchorRightControllerAnchor の下に配置

  • Leftの方のOVRControllerPrefab -> OVR Controller Helper -> ControllerをL Tracked Remoteにする

6.png

7.png


ビルド


  • 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つあってビルド出来ない。それぞれAndroidWinを消したらビルド出来たが、正しい対処法なのかは不明。


SideQuestでapkをインストール



  • ADB installなどでやる方法もありますが、SideQuestを使うとめちゃめちゃ楽だったのでこちらを紹介します。


  • リリースページからSideQuest-(OS_Name)-x64.tar.gzをダウンロードする

  • 展開しSideQuestを起動する


  • Oculus Questをケーブルで接続しておく



    • ConnectedとなっていればOK
      8.png



  • 先ほど生成したAPKをウィンドウにドラッグ&ドロップする

    9.png


  • Installed APK File xxx.apkが出たら、もうインストール出来ている

    10.png



Oculus Questから起動


  • ライブラリ→提供元不明のアプリから起動する お疲れ様でした!
    11.jpg


参考にしたサイト