Animator 笔记
Animator类
1.几个常用的成员函数
(1)SetFloat/GetFloat SetInteger/GetInteger SetBool/GetBool SetTrigger/GetTrigger 等 用来设置相应类型的动画参数
(2)SetIKPosition/SetIKPositionWeight/SetIKRotation/SetIKRotationWeight/SetLookAtPosition/SetLookAtWeight等 用于设置反向动力学的位置。旋转、观察方向的值与权重
(3)StringToHash静态函数 ,用于从动画状态的名称得到该动画的状态HashID,返回一个唯一的int
(4)GetCurrentAnimatorStateInfo/GetNextAnimatorStateInfo用于得到当前/下一个动画状态
注意的点比较重要的点:
1.Animator.rootPosition的值表示这个动画的对象的实际位置信息,它的值与transform.position的值是一致的。
2.OnAnimatorIK(int layerIndex) animator被调用的时候的回调函数,在它的内部IK系统更新之前,OnAnimatorIK()是通过Animator组件立即被调用。这个回调用来设置IK的目标位置和它们各自的权重。layerIndex,当IK解算器被调用,该层的索引。
void OnAnimatorIK(int layerIndex)
{ animator.SetIKPositionWeight(AvatarIKGoal.LeftFoot, leftFootPositionWeight); animator.SetIKRotationWeight(AvatarIKGoal.LeftFoot, leftFootRotationWeight); animator.SetIKPosition(AvatarIKGoal.LeftFoot, leftFootObj.position); animator.SetIKRotation(AvatarIKGoal.LeftFoot, leftFootObj.rotation); }