LoginSignup
4
5

More than 1 year has passed since last update.

MRTK で Oculus Quest のプロジェクトにハンドトラッキングと空間操作用のUIを実装する

Last updated at Posted at 2021-11-02

MRTK とは

Microsoft 主導のプロジェクトで、Unity でクロスプラットフォームの MR アプリの開発時間を短縮するために、空間操作および UI 用のクロスプラットフォーム入力システムと構成を簡単に実装出来ます。
mrtk_ux_hero.png
幅広い範囲のプラットフォームがサポートされていますが、今回は Oculus Quest2 で動作するように実装したので、備忘録としてまとめました。

必要なもの

※ MRTK のパッケージを Windows PC で用意する場合は Mixed Reality Feature Tool を使用してダウンロード出来ます。( 詳細はこちら

実装手順

  1. プロジェクトの準備
  2. XR Plugin Frameworkのインポート
  3. Oculus Integrationのインポート
  4. MRTKのインポート
  5. MRTK用のコンポーネントとプロファイルを追加
  6. ハンドトラッキングの有効化
  7. URP で MRTK を使用する場合
  8. ボタン / ハンドメニューの追加
  9. Oculus Questでの実行

1. プロジェクトの準備

Oculus Quest2 のプロジェクトの設定をします。
詳細は 開発環境を設定 にまとめられています。

■ Unityの準備
1. Unity HubでUnityをインストールします。モジュールの追加で「Android Build Support」をチェックします。
2. Unityのプロジェクトを作成します。
3. メニュー「File → Build Settings」で、「Android」を選択して「Switch Platform」ボタンを押します。

2. XR Plugin Frameworkのインポート

  1. メニュー「Edit → Project Settings → XR Plugin Management」で「Install XR Plugin Management」ボタンを押します。「XR Plugin Management」がインポートされます。
  2. Androidタブの「Oculus」にチェックを入れます。

18.png

3. Oculus Integrationのインポート

Unity アセット ストア から Oculus Integration をダウンロードしてインポートします。
※ 全てのファイルをインポートします。インポートには時間がかかります。

インポートが完了したら、メニュー「Edit → Project Settings → Audio」の「Spatializer Plugin」に「OculusSpatializer」を指定します。
53.png

4. MRTKのインポート

  1. MRTK のリポジトリからパッケージをダウンロードします。
Microsoft.MixedReality.Toolkit.Unity.Foundation.unitypackage
Microsoft.MixedReality.Toolkit.Unity.Tools.unitypackage
  1. メニュー「Assets → Import Package → Custom Package」で、パッケージをインポートします。

  2. 以下のダイアログを入力していきます。
    スクリーンショット 2021-10-31 7.52.28.png
    「Next」を選択。
    スクリーンショット 2021-11-01 13.51.50.png
    「Apply」を選択。
    スクリーンショット 2021-10-31 7.52.34.png
    「Next」を選択。
    スクリーンショット 2021-11-01 13.52.03.png
    「Import TMP Essentials」を選択。
    スクリーンショット 2021-10-31 7.52.42.png
    「Done」を選択。

※ MRTK のパッケージを Windows PC で用意する場合は Mixed Reality Feature Tool を使用してダウンロード出来ます。( 詳細はこちら

5. MRTK用のコンポーネントとプロファイルを追加

メニュー「Mixed Reality Toolkit → Add to Scene and Configure...」を選択します。
以下が Hierarchy に追加されます。

MixedRealityToolkit
MixedRealityPlayspace
MixedRealitySceneContent

6. ハンドトラッキングの有効化

メニュー「Mixed Reality Toolkit → Utilities → Oculus → Integrate Oculus Integration Unity Module」を選択します。
oculusintegrationasmdef.png
インポートされた Oculus フォルダーの、OculusProjectConfig で、HandTrackingSupport を 「Controllers and Hands」か「Hands Only」に設定します。
oculusintegrationcontrollerandhands.png
参考 : Oculus Integration Unity パッケージを設定してハンドトラッキングを有効にする

Oculus コントローラー

Oculus コントローラーモデルを視覚化するには、Oculus クエストデプロイの手順に従います。 コントローラーを使用しているときに仮想ハンズオンを表示する場合は、XR SDK Oculus Device Manager の下で、[コントローラーでは なくアバター を表示する] がオンになっていることを確認します。それ以外の場合は、このオプションをオフにします。
oculusdevicemanager.png
コントローラーと手のモデルは以下の設定にすると表示されます。
スクリーンショット 2021-11-06 17.49.57.png

7. URP で MRTK を使用する場合

メニュー「Mixed Reality Toolkit → Utilities → Upgrade MRTK Standard Shader for Lightweight Render Pipeline」を実行します。

8. ボタン / ハンドメニューの追加

試しにハンドメニューの実装をしました。

下記の記事を参考にUIなどを作成し動作確認をしました。

9. Oculus Questでの実行

ビルドエラー

最初に「Build And Run」を選択すると、ビルドエラー が発生する可能性があります。「Build And Run」を再度選択すると、正常にビルドが完了します。
参考 : プロジェクトをビルドして Oculus Quest にデプロイする

診断システムの表示/非表示

20200702172203.png
「Diagnostics」を選択し、「Enable Diagnostics System」のチェックボックスをOFFにします。
スクリーンショット 2021-11-02 7.52.15.png
参考 : 診断システムの構成

参考サイト

公式ドキュメント

Github

参考にした本

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5