IK
Inverse Kinematic即反向动力学,在骨骼动画中构建骨骼的方法被称为正向动力学。通常来说是父骨骼带动子骨骼旋转或移动,而反向动力学则是子骨骼带动父骨骼旋转或移动。
举个例子来说,正向动力学下,我们用手控制鼠标移动,反向动力学下则是鼠标控制我们的手移动。
二如何使用
首先需要在状态机中开启IK设置。
Unity已经定义了一个Ik回调函数——OnAnimatorIK,我们可以通过调用相关API来控制IK。
SetLookAtWeight 设置头部IK权重
参数
1.weight:LookAt全局权重0~1
2.bodyWeight:LookAt时身体的权重0~1
3.headWeight:LookAt时头部的权重0~1
4.eyesWeight:LookAt时眼镜的权重0~1
5.clampWeight:0表示角色运动时不受限制,1表示角色完全固定无法执行LookAt,0.5表示只能够移动范围的一半
SetLookAtPosition 设置头部IK看向位置
参数
位置
SetIKPositionWeight 设置IK位置权重
SetIKRotationWeight 设置IK旋转权重
SetIKPosition 设置IK对应的位置
SetIKRotation 设置IK对应的角度
参数
1.AvatarIKGoal枚举 四肢末端IK枚举
2.坐标或者四元数