本日はMRTK調査枠と初めてのOculus Quest記事です。
MixedRealityToolkitは2020年12月時点最新版であるv2.51ではOculusQuestをサポートしています。
〇環境
今回は次の環境で実装します。
・MixedRealityToolkit v2.51
・Unity2019.3.9f1
・アンドロイド用のモジュール
〇実装
〇必要なパッケージの導入
①MRTKをUnityにインポートします。
MRTKのダイアログが表示された場合[Apply]を押します。
MixedRealityToolkitには主に以下の4種類が存在します。
・MixedRealityToolkit.Foundation
MRTKのコアに当たるコンポーネントです。MRTKを使用するためには必須のパッケージです。 これは複数のプラットフォーム間でMRTKの機能が共通した動きを行うようなコードが導入されています。
最初にこのパッケージをインポートしてください。
・MixedRealityToolkit.Extentions
MRTKの機能を拡張するオプションパッケージです。 HandTrackingに物理サポートを追加する機能やHoloLensでのSLAMのLostに関する処理などが入っています。
・MixedRealityToolkit.Tools
MRTKのUnityエディタでのユーティリティを提供するオプションパッケージです。
・MixedRealityToolkit.Examples
MRTKの機能サンプル集です。 Examplesで提供されている機能を流用することでノーコーディングでアプリを作ることもできます。
オプションですが筆者としては常にインポートすることをお勧めします。
すべてのMRTKコンポーネントがインポートされるとAssets/MRTK内は次のようになります。
次にOculus Quest用のパッケージを導入します。
②上部ワールドタブから[Window]→[PackageManager]を開きます。
③[Oculus XR Plugin]をインポートします。
④[AssetsStore]から[Oculus Integration]をインポートします。
[Oculus Integration]はHoloLensでいうMRTKのようにQuestでの操作や機能を簡単に作成できる開発ツールです。
今回のMRTKはOculus Integrationを拡張するように使用します。
以上で必要なコンポーネントが導入できました。
〇プロジェクトの設定
Oculus Quest用にプロジェクトを構築します。
①[Build Settings]を開き[Android]に[Switch Platform]を行います。
これでターゲットがアンドロイド(Oculus Quest)になります。
②[Player Settings]を開きます。
③[XR Plugin Management]を開きます。
[Initialize on Startup]を有効化します。
次にHandTrackingの設定を行います。
④プロジェクトウィンドウから[Assets]→[Oculus]→[OculusProjectConfig]を開きます。
⑤[OculusProjectConfig]のinspectorウィンドウから[HandTrackingSupport]を[Hands Only]に設定します。
⑥上部ワールドタブから[Mixed Reality Toolkit]→[Utilities]→[Oculus]→[Integrate Oculus Integration Unity Modules]を選択し導入します。
これでプロジェクトの設定が終わりました。
〇シーンの構成
次にシーンの構成を行います。
①上部ワールドタブの[MixedRealityToolkit]から[Add to Scene and Configure...]を選択してシーンにMRTKのカメラなどの機能を配置します。
②[MixedRealityToolkit]ゲームオブジェクトのinspectorウィンドウから[Clone]を選択します。
③サイドタブから[Input]を選択して[Clone]を選択します。
④[Input Data Probiders]を開き[+Add Data Provider]をクリックします。
これにより新しいProviderが追加されます。
⑤新しいProviderの[Type]に[OculusSDKDeviceManager]を指定します。
また、[Device Manager Profile]に[OculusXRSDKDeciceManagerProfile]を指定します。
以上でOculus Quest用のMRTKの構成が終わりました。②~④はMRTKの構成を行っています。
MRTKではデフォルトの構成を改変することはできず、デフォルトの構成を複製してここにカスタマイズします。
〇ビルド
ビルドする前にシーンにオブジェクトを配置します。
HoloLensの場合アプリ起動時のHoloLensデバイスの位置が原点(0,0,0)になりますが、Questの場合はユーザーの立っている床が原点になります。
よって今回は原点に対してPlaneを配置しました。
またアクションを起こすオブジェクトとしてPressableButtonとPinchSliderを配置しました。
ビルドします。
①[BuildSettings]を開き[Build]を選択します。
HoloLensの場合はソルリューションファイルが書き出されますが今回はAPKファイルが書き出されます。
ダイアログではAPKファイル名をしてします。
APKファイルが作成されたらQuestへビルドします。 SideQuestを使用します。
②SideQuestを起動します。
PCとQuestがUSBでつながっている場合SideQuestの上部のステータスアイコンが緑になります。
③SideQuestの上部ワールドタブからタスクウィンドウを開きます。
④APKファイルをタスクウィンドウにD&Dします。
⑤正常にインストールが完了すると緑色の表示に変わります。
〇Questで確認
〇参考
今回宮浦さんの記事を参考にさせていただいています。 ありがとうございます
〇HoloLensアドベントカレンダーとは?
冒頭でもお知らせしましたが、本日の記事はHoloLensアドベントカレンダー14日目の記事になります。
明日は shiratori1221さんの『UE4のMRTKについてなんか』の記事があります。