Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

【Oculus Quest開発メモ】開発初期設定まとめ Oculus Integration【Unity】

今回はOculus Questの開発ネタをやっていきます。
Oculus Rift Sの場合は少し変える必要があります。

 

UnityでOculus Integrationを利用したVR開発をする時の初期設定のまとめです。
(定期的に更新していく予定です)

疑問点、間違いなどがありましたらお気軽にコメントまでどうぞ

 

f:id:Raspberly:20200218001037p:plain

 

 

これまでOculus Integrationのアップデートで初期設定が変わることが何度かあったため、
他の開発メモと独立して執筆しました。
新しい手順が増えたり減ったりします。

 

Unityプロジェクトの作成

今回は以下のバージョンを使用します。

Unity 2019.3.2f1

Oculus Integration 13.0

 

 

公式では2018.4 LTSを推薦していますが、
2019以降ですとAndroidビルド環境の構築がとても楽なのでオススメです。

learn.unity.com

 

 

 

Unity側の初期設定

Oculus Integrationのインポート前にこちらの設定をやっておきます。
インポート後でもできますが、再インポートに時間がかかるため最初にやるのがオススメ。

 

Target Platformの変更(Questの場合)

Build SettingsからTarget PlatformをAndroid変えます。

f:id:Raspberly:20200216203057p:plain

Rift SなどPC向けVR開発の場合はPC, MAC & Linux Standaloneのままで大丈夫です。

 

Graphics APIsからVulkanを削除 

Project Settings/Player/Other Setting/RenderingGraphics APIsから、Vulkanを削除します。
Vulkanを選択した状態で右下の-ボタンを押します。

f:id:Raspberly:20200216213426p:plain

(一応XR Plugin ManagementをインストールするとVulkanがあっても動くらしい)

 

Virtual Reality Supportedの有効化

Project Settings/Player/XR Settingsから、Virtual Reality Supportedにチェックを入れ、
Virtual Reality SDKsにOculusを追加します。

f:id:Raspberly:20200216213058p:plain

 

Minimum API Levelの変更

Project Settings/Player/Other SettingsのMinimum API LevelをAPL Level 19にします。

f:id:Raspberly:20200218002933p:plain

 

 

Unity側の設定は以上です。
前はもっと設定箇所があったはずですが減ったようです。
OculusProjectConfigのTargetDeviceTypeもデフォルトでQuestになっていました。

 

 

 

 

 

Oculus Integrationのインポート

インポート

Oculus IntegrationはUnityで開発するためのツール、スクリプト、プレハブが入ったパッケージになります。
AssetStoreからOculusIntegrarionをダウンロードし、インポートします。

インポート後、Unityの再起動が促されるため従います。 
再びUnityを立ち上げて完了です。

 

Oculus Integrationのバージョンについて

アセットストアにあるOculus Integrationですが、ある時点で1.43から12.0まで一気にバージョンアップしました。

従来はOculus integrationとOVRPlugin(Unity用ユーティリティ)は同じバージョンで管理されていましたが、
このタイミングで分離するようになりました。

 

具体的には、Oculus Integration 12.0に対して、OVRPlugin1.44.0という紐づけになります。
(Audio Spatializerとかも個別のバージョンを持つようになりました)

f:id:Raspberly:20200217215802p:plain

 

f:id:Raspberly:20200217233616p:plain

 

 

 

 

 

AvatarGrabの復活方法

物を掴んで投げる挙動を学習するのに最適なAvatarGrabシーンを復活させる方法について紹介します。
ただし、この方法もいつまで使えるかはわかりません。

開発環境

今回はこちらの環境にインポートします。

Unity2019.3.0f6
Oculus Integration 13.0

 

旧バージョンのOculus Integrationを入手

旧バージョンのOculus Integrationを入手します。
古いものはアーカイブされているので、下のリンクからダウンロードします。

Unity Integration Archive | Developer Center | Oculus

f:id:Raspberly:20200216212336p:plain

今回ダウンロードするのは1.42.0です。
ちなみに1.42.0と書かれた所をクリックするとバージョンを変更することができます。

f:id:Raspberly:20200216212517p:plain

 

インポート

先ほどダウンロードしたOculus Integration 1.42.0のUnityPackageを実行します。
まずは一番上にあるOculusのチェックを外した状態で、

f:id:Raspberly:20200216212937p:plain

Oculus/SmapleFramework/Core/AvatarGrab
Oculus/SmapleFramework/Usage/AvatarGrab.unityにチェックを入れインポートします。

f:id:Raspberly:20200216213016p:plain

これで完了です。特にエラーもなくAvatarGrabシーンを実行できると思います。

 

 

AvatarGrabとその活用についてはこちら

raspberly.hateblo.jp

 

 

 

 

参考資料

framesynthesis.jp

qiita.com

blogs.unity3d.com

cycling.hateblo.jp

 

 

 

 

 

 

番外編 Oculus QuestをPCにつないでも認識されなくなる(情報求)

私の環境でたまに起こる現象。
PCにOculusQuestを付属のケーブルでつないでも認識されなくなることがあります。
当然Build And Runはできないし、中のスクショを読み込むこともできません。
気がついたら治ってたりしますが・・・・

ケーブルは問題なさそうだったので、PC側かQuest側の問題っぽいのですが、
いまいち解決方法がわかりません。何か知見をお持ちの方はコメントなどで教えていただければ幸いです。

 

 

同じ症状の方が結構いらっしゃいまして調べるといろいろでてきました。

ch.nicovideo.jp

qiita.com

qiita.com

 

 

 

 

 

 

 

 

他間違っている箇所、わかりにくい所がありましたらコメントにお願いします。