本日はUnity、HoloLens枠です。
前回の記事ではMagicaClothのコライダーを設定してきました。
今回はxRアプリケーションの手にコライダーを付けて手で触れられるようにしていきます。
〇環境
今回は以下の環境で実行します。
・MRTK3
・MRTK Core Definitions 3.0.0-per.14
・MRTK Graphics Tools 0.4.0
・MRTK Input 3.0.0-per.14
・MRTK Spatial Manipulation 3.0.0-per.14
・MRTK Standard Assets 3.0.0-per.14
・MRTK UX Core Scripts 3.0.0-per.14
・Mixed Reality OpenXR Plugin 1.7.2
・Unity 2021.3.5f1
・Windows 11PC
〇MRTK3でHandTrackingの位置取得
MRTK3でHandTrackingの位置を取得してオブジェクトを連動させるには以下の方法を行います。
①hierarchyに空のオブジェクトを作成します。ここではHandObjectという名前を付けます。
②Solver Handlerコンポーネントをアタッチします。
③Hand Constraintコンポーネントをアタッチします。
これに連動してHandBoundsがアタッチされます。
④Solver HandlerコンポーネントのTracked Target TypeをHand Joint、Tracked HandednessをLeftに設定します。
Tracked Target Typeはどのオブジェクトを追尾するか?という設定で、ここでは手に追従させるために設定を行っています。
またTracked Handednessは右手、左手どの手を追尾するか?という設定です。
⑤前回作成したMagica Sphere ColliderをHandObjectの子オブジェクトとして配置します。
これによって手に沿ってコライダーが動くようになります。
⑥手の大きさに合わせてMagica SphereColliderのRadiusの値を調整します。
⑦HandObjectを複製し、Solver HandlerコンポーネントのTracked HandednessをRightに設定した右手版のオブジェクトも作成します。
⑧右手用のHandObjectの子オブジェクト、Magica Sphere ColliderをMagicaClothのコライダーとして設定します。
以上で準備が完了しました。
ビルドします。
〇実機で確認
実機でも期待通り手で髪と干渉させていることを確認できました。
次回はもう少しレベルを上げていきます