MRが楽しい

MRやVRについて学習したことを書き残す

MagicLeap2でハンドトラッキングとコントローラを動的に切り替えて利用する

本日は MagicLeap2 の小ネタ枠です。
MagicLeap2 のアプリ開発でMagicLeap2でハンドトラッキングとコントローラを動的に切り替えて利用する方法について記事にします。

前提条件

MagicLeap2 向け MRTK パッケージを利用すると、ハンドトラッキングとコントローラの動的切り替えを簡単に設定できます。
以下の記事を参考に、MagicLeap2 向け MRTK のインポートを実施してください。
bluebirdofoz.hatenablog.com

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

ハンドトラッキングを利用するにはマニフェストから権限の設定を行う必要があります。
メニューから[Edit -> ProjectSettings]を開き、[Permissions]タブの[HAND_TRACKING]にチェックを入れます。

ハンドトラッキングとコントローラの動的切り替えを行いたい場合は、MRTK のプロファイルを[MagicLeap2 Default ConfigurationProfile]に設定します。
[MixedRealityToolkit]オブジェクトを選択し、Inspector ビューからプロファイルを変更可能です。

プロバイダーについて

プロファイルの[Input]タブからデバイスの入力を受け取るプロバイダーの設定を確認できます。
[Magic Leap Device Manager]がコントローラの入力を、[Magic Leap HandTraking Input]がハンドトラッキングの入力を受け取るプロバイダーです。

[Magic Leap HandTraking Input]でハンドトラッキングの詳細な設定が行えます。
[Disable Hand Holding Controller]を有効化していると、コントローラを握っている手のハンドトラッキングが無効化されるため、コントローラを持ち帰るだけでハンドトラッキングとコントローラ操作を切り替えることができます。

また[Handedness Settings]を[Right(右手)][Left(左手)][Both(両手)]のどれかに変更することで、トラッキングする手を変更できます。