反向动力学,简称IK。相较于正向动力学,反向动力学旨在子级对父级产生的影响。
使用IK,可以实现根据目标位置或方向来计算并调整角色的关节(骨骼)链,以使角色的末端(如手臂、腿部等)达到预期的位置或取向。
通过使用 Unity 的 IK 功能,你可以实现各种复杂的角色动画效果,如角色抓取、足部对齐、手臂跟随等。
public GameObject target;
public Transform target_trans;
OnAnimatorIK
private void OnAnimatorIK(int layerIndex)//参数layerIndex设置动画层数
{
animator.SetLookAtWeight(1);//设置头部权重
animator.SetLookAtPosition(target_trans.position);//看向目标物体的位置
}
private void OnAnimatorIK(int layerIndex)//参数layerIndex设置动画层数
{
//手IK位置权重
animator.SetIKPositionWeight(AvatarIKGoal.RightHand,1);
//手IK旋转权重
animator.SetIKRotationWeight(AvatarIKGoal.RightHand, 1);
//设置右手IK指向
animator.SetIKPosition(AvatarIKGoal.RightHand, target_trans.position);
//设置右手IK旋转
animator.SetIKRotation(AvatarIKGoal.RightHand, target_trans.rotation);
}
更多【学习-Unity学习笔记之【IK反向动力学操作】】相关视频教程:www.yxfzedu.com