仮想と物理とエトセトラ

xRや物理とかごった煮の備忘録的技術ブログ

Photon(PUN2)+MRTKアプリをOculus Questで使う

Photonのやや番外編として、Oculus Questで同じアプリを使ってVR, MR間での共有を試しました。

MRTKはver. 2.5からOculus Questをサポートしました。 PhotonもOculus Quest(というよりAndroid)をサポートしているため、同じアプリでHololens2との共有が可能です。

今回の前提として、MRTK、Photonを導入したUnityプロジェクトを作成済みとします。

Oculus Integrationの導入と設定

まずはOculus Integrationを導入して、Oculus Questで使用するための準備をします。
UnityのAsset Storeで「Oculus Integration」を検索し、Download, Importします。

f:id:napo909:20210425213325p:plain

次にMRTKにOculusのAssetを設定します。
上部メニューの「Mixed Reality Toolkit」→「Utilities」→「Oculus」→「Integrate Oculus Integration Unity Modules」を選択します。
これでMRTKからOculus Integrationを使用できるようになります。

f:id:napo909:20210425213709p:plain

次にMRTKのProfileを設定します。
Hierarchy中の「MixedReality Toolkit」を選択しInspectorにMRTKの設定を開きます。
Inspector上で「DefaultMixedRealityToolkitConfigurationProfile」を選択し、右の「Clone」ボタンを押します。
出てきたウィンドウで任意の名前を設定し「clone」ボタンを押します。

f:id:napo909:20210425215753p:plain

Profileを作成すると、各設定を変更できるようになります。
「Input」を選択し、入力の設定をします。
「DefaultMixedRealityInputSystemProfile」右の「Clone」ボタンを押しProfileをcloneします。

f:id:napo909:20210425215813p:plain

cloneし編集可能になったら、「Input Data Provider」の「Add Data Provider」を選択します。
新しく作成したData ProviderのTypeから「OculusXRSDKDeviceManager」を選択します。

f:id:napo909:20210425214952p:plain

するとMRTK用のOculus Quest profileが設定できます。
profileには、Oculus Questで使うPrefabが設定されています。

f:id:napo909:20210425225611p:plain

ビルドする

ビルドのための設定をしていきます。
まず、Assets/Oculus/OculusProjectConfigから操作方法を設定します。
今回はコントローラとハンドトラッキングの両方を使用するため、「Controllers And Hands」に設定します。

f:id:napo909:20210425225912p:plain

既にHololens用にBuildしたことがある場合は、Build SetttingsからAndroid用Buildに変更します。
Androidを選択し、「Switch Platform」を選択します。
Android SDKが未インストールの場合は、インストールが必要です。(方法はいずれ記事にします。)

f:id:napo909:20210425230756p:plain

次に「ProjectSettings」→「Player」の「Virtual Reality Supported」のチェックが外れている場合はチェックを入れ、「Virtual Reality SDKs」の+ボタンを押してOculusを選択します。

f:id:napo909:20210425230425p:plain

最後に「ProjectSettings」→「Player」の「Other Setting」の「Graphics APIs」から「Vulkan」を削除します。
「Vulkan」を選択し、マイナスボタンを押します。

f:id:napo909:20210425230930p:plain

これでビルドの準備ができました。
ビルドすると、インストールするためのapkファイルが作成されます。
Oculus QuestをPCに接続し、Side Questなどを用いてインストールしましょう。(方法はいずれ記事に(ry)

Oculus Questから実行すると以下のようになります。 (twitterリンクを参照)
下に見える白い丸はHololens2でログインしたユーザの頭です。

現状の問題点(私の手順が誤っている可能性高し)として、

  • ユーザ位置がHololensと比べ高い
  • Oculus側でコントローラやハンドトラッキングの手が表示されない

があります。
近いうちに解決して記事にする予定です。