IK动画

IK动画直接we位置的匹配。

寻找定位点

勾选层中的IK pass

 //每帧都运行
    private void OnAnimatorIK(int layerIndex)
    {
        if (layerIndex == 1)
        {
            int houldLogWeight=anim.GetBool(isHoldLogID)?1:0;
            //当前是被holdlog这一层调用的
            anim.SetIKPosition(AvatarIKGoal.LeftHand, leftHand.position);
            anim.SetIKPositionWeight(AvatarIKGoal.LeftHand, houldLogWeight);
            anim.SetIKRotation(AvatarIKGoal.LeftHand, leftHand.rotation);
            anim.SetIKRotationWeight(AvatarIKGoal.LeftHand, houldLogWeight);


            //设置右手
            anim.SetIKPosition(AvatarIKGoal.RightHand, rightHand.position);
            anim.SetIKPositionWeight(AvatarIKGoal.RightHand, houldLogWeight);
            anim.SetIKRotation(AvatarIKGoal.RightHand, rightHand.rotation);
            anim.SetIKRotationWeight(AvatarIKGoal.RightHand, houldLogWeight);
        }
    }

猜你喜欢

转载自blog.csdn.net/wk6sae88/article/details/81662120