じゅころぐAR

ARのブログ

UnityでOculus Quest向けアプリを開発する

Oculus Quest買ったのでシリーズ。UnityでVRアプリ開発の導入になります。

はじめに

Oculus Storeの審査は厳しく、個人開発者が気軽にアプリを公開することは難しいため、Oculus Storeでの公開を目指すのであれば、Oculus Goで開発してからQuestに移植するのがよいようです。

ただ、Questしか持っていなくても開発者モードで自作のアプリを実行することはできるので、趣味や展示、学習用途であれば問題なく使えます。

公開することが目的でアプリストアにこだわらなければ、WebVRでの実装も検討ください。

環境設定

Oculus Unity Getting Started Guideを参考に、セットアップしていきます。

Unityプロジェクトの作成

新規にプロジェクトを作成します。
UnityのバージョンはUnity2019.1.5f1、開発環境はMacです。

f:id:jyuko49:20190708060145p:plain

プラットフォームを"Android"に切り替えます。
"File" > "Build Settings..."> "Platform: Amdroid" > "Switch Platform"

f:id:jyuko49:20190708061844p:plain

VRサポートを有効にして、SDKリストにOculusを追加します。
"Player Settings" > "XR Settings" > "Virtual Reality Supported" > "Oculus"

f:id:jyuko49:20190708061857p:plain

Android SDKのAPIレベルを19以上に設定します。これを行わないとビルドに失敗します。
"Player Settings" > "Other Settings" > "Minimum API Level: Android 4.4(API level 19)"

f:id:jyuko49:20190708080354p:plain

VulKanを削除します。これを行わないと実機でアプリが起動せずに即落ちします。
"Player Settings" > "Other Settings" > "Graphics APIs: VulKan" > "-"ボタンでリストから削除

f:id:jyuko49:20190708080910p:plain

プラグインのインストール

Oculus向けのSDKとして、OVR Utilities Plugin (OVRPlugin)が利用できます。

Understand Oculus Integration Package Components | Oculus Developers

OVRPlugin単体でもインストールできますが、Oculus IntegrationをインポートすればOVRPluginもインストールされるようなので、今回はこちらの手順で追加します。

まず、Oculus IntegrationをAsset Storeで検索します。

assetstore.unity.com

上記のページで"マイアセットに追加する"をクリックします。
ログインしていない場合は、ログインを求められます。

f:id:jyuko49:20190708064214p:plain

UnityのMy Assetsを開くとOculus Integrationが追加されているので、ダウンロードします。
"Asset Store" > "My Assets" > "Oculus Integration" > "Download"

f:id:jyuko49:20190708070254p:plain

ダウンロードが完了したらインポートします。
"Asset Store" > "My Assets" > "Oculus Integration" > "Import" > ダイアログ上の"Import"

f:id:jyuko49:20190708070522p:plain

プロジェクトのAssets以下にファイルが展開されていればOKです。

f:id:jyuko49:20190709074619p:plain

ここまでの手順を実施すると、Package ManagerでOculus (Android)がインストールされていることが確認できます。開発を進める際のバージョン、依存関係に注意しておきましょう。

f:id:jyuko49:20190709075212p:plain

Oculus Questの設定

Oculusのスマートフォンアプリで開発者モードを有効にします。

開発者モードの設定画面では、トグルでONにするだけです。

USBケーブルでPCと接続すると、Oculus Quest側の画面でUSBデバッグの許可を求められます。

これでOculus Questでアプリを実行する準備ができました。

シーンの構成

基本的な構成

カメラトラッキングを行うだけなら簡単です。

プロジェクトフォルダ内の"Assets" > "Oculus" > "VR" > "Prefabs" > "OVRCameraRig"を配置します。デフォルトで配置されているCameraは削除します。

f:id:jyuko49:20190709081620p:plain

OVRCameraRigにアタッチされているスクリプトのOVR Manager"Gear Vr Or Go""Quest"を選択するプロパティがあります。"Quest"に変更しておきます。

f:id:jyuko49:20190709081935p:plain

あとは、シーンを構成するオブジェクトを配置するだけです。今回はPlaneとクエリちゃんを配置します。

f:id:jyuko49:20190709082025p:plain

クエリちゃんアセットのライセンス規約はこちら。

query-chan.com

ここまでで一度実機で動かしてみます。

実機インストール

Androidのビルドと同様に、実機(Oculus Quest)をUSB接続した状態で"Build And Run"を行えば、ビルドから実機インストールまでを行ってくれます。特に難しいことはありません。

Oculus Questを被るとクエリちゃんが表示されました。が、静止画だとVR感ないですね。

f:id:jyuko49:20190709081051j:plain

インストールしたアプリは、"ライブラリ" > "提供元不明のアプリ"から再実行できます。

f:id:jyuko49:20190709081102j:plain

長くなったので、続きは別の記事にします。