質問: ### 前提・実現したいこと Unityで手の3Dモデルを動かそうとしています。 手首から肩までの動きはスクリプトで制御し、指先の動きはアニメーションで表現することを目標としています。 FABRIKをUnityで実装し、IKで手首のボーンをターゲット位置に追従させるところまではうまくいきました。 次に手首より先のボーン、すなわち指のボーンをUnityのAnimatorを利用して動かす(アニメーションを再生する)段階に入りました。 IKによるボーン位置の更新はすべてLateUpdate内で行っています。 使用しているアニメーションは、指についてのみキーフレームが打たれています。 ### 発生している問題・エラーメッセージ 手のGameObjectにアタッチされているAnimatorコンポーネントのControllerフィールドに、Animator Controllerを設定すると、IKの誤差が増大、ターゲットと手首との距離が開きます。 ### 試したこと Animator Controllerが設定されているか否かでターゲットと手首との距離が3ケタ程度変わることを確認しました。 指のみのAvatar Maskを設定してみましたが変化はありませんでした。 Animator Controllerにアニメーションを有するノードが存在しない場合は問題は生じませんでした。 ### 補足情報(言語/FW/ツール等のバージョンなど) Unity2017 1.0f3 Personal
回答: おそらくはAnimationのボーンにワールドポジション情報が入っているため位置がおかしくなっているものと思われます。 考えられるエラーとして以下があります ・スクリプトで制御している箇所で親子関係がきちんと実装出来ていない ・LateUpdateにより位置情報が上書きされているため正常に動いた後に別の座標系を再度掛け合わせてしまっている