本日はUnity枠です
昨日に引き続きMagicaCloth2を触っていきます。
昨日は手にMagicaClothのコライダーをつけ、揺れ物を触れるようにしてきました。
今回はより発展させていきます。
〇指一本一本にコライダーをつける
前回は手に一つのコライダーをアタッチしました。
今回は指一本一本にコライダーを適応してきます。
①前回作成したHandObjectを3つコピーします。
それぞれThumb(親指)、Index(人差し指)、Middle(中指)と名前を付けています。
薬指と小指を作っていないのは多くのHandTrackingデバイスでは人差し指、親指のトラッキングは正確ですが、比較的薬指、小指の認識精度が甘い点と、人体の構造上薬指、小指のみを使用する機会が少ないためオミットしています。
②それぞれのオブジェクトのSolver HandlerのTracked Hand Jointをそれぞれのオブジェクトに対応する設定を行います。
例えばThumbObjectの場合Thumb Tipを指定します。
MRTKによるハンドトラッキングで取得できるポジション(HandJoint)は以下の図のようになります。
Tipは各指の指先のJointに当たります。
③各オブジェクトのHandConstraintコンポーネントのSafe ZoneをRadial Sideに設定します。
これによって各指の指先ピンポイントにコライダーが設定されるようになります。
④最後にMagica Sphere ColliderコンポーネントのRadiusを指の大きさに合わせて調整します。
以上で左手ができました。
⑤指先のオブジェクトを複製し、SolverHandlerのTracked HandednessをRightを指定します。
以上で両手の設定が完了しました。
⑥MagicaClothで設定済みのMagica ClothコンポーネントのCollider CollisionのCollider Listの配列に新規で作成したMagica Sphere Colliderコンポーネントをアタッチします。
以上で設定が完了しました。
〇実機で確認
実機で動作もできました。筆者がMRTK3のHandMeshの制御をまだ詳しくないので少しわかりずらいですが、指の動きで揺れを起していることがわかります。
本日は以上です。