При постановке ноги согласно нормали нога не всегда выглядит реалистично, иногда очень сильно загибается.
Как установить ограничение поворота чтобы нога не сильно загибалась?
На данный момент поворот у меня осуществляется так
private void SetFootRot(){
LFRotationIK = animator.GetIKRotation(AvatarIKGoal.LeftFoot);
LFRotationIKTemp = Quaternion.Lerp(LFRotationIKTemp, GetFootRotate(LFNormal) * LFRotationIK, Time.fixedDeltaTime * 15f);
LFRotationIK = LFRotationIKTemp;
animator.SetIKRotation(AvatarIKGoal.LeftFoot, LFRotationIK);
// также и правая нога
}
private Quaternion GetFootRotate(Vector3 normal){
Vector3 rotAxis = Vector3.Cross(Vector3.up, normal);
float angle = Vector3.Angle(Vector3.up, normal);
return Quaternion.AngleAxis(angle, rotAxis);
}