夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Unityでリアルな揺れモノを実現する MagicaCloth2をxRで動かす その⑤ MRTK3のHandTrackingで髪を手で触れられるようにする

本日はUnity、HoloLens枠です。

前回の記事ではMagicaClothのコライダーを設定してきました。

redhologerbera.hatenablog.com

今回は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 TypeHand JointTracked HandednessLeftに設定します。

Tracked Target Typeはどのオブジェクトを追尾するか?という設定で、ここでは手に追従させるために設定を行っています。

またTracked Handednessは右手、左手どの手を追尾するか?という設定です。

⑤前回作成したMagica Sphere ColliderHandObjectの子オブジェクトとして配置します。

これによって手に沿ってコライダーが動くようになります。

⑥手の大きさに合わせてMagica SphereColliderRadiusの値を調整します。

HandObjectを複製し、Solver HandlerコンポーネントのTracked HandednessRightに設定した右手版のオブジェクトも作成します。

⑧右手用のHandObjectの子オブジェクト、Magica Sphere ColliderMagicaClothのコライダーとして設定します。

以上で準備が完了しました。

ビルドします。

〇実機で確認

youtu.be

実機でも期待通り手で髪と干渉させていることを確認できました。

次回はもう少しレベルを上げていきます