Угол поворота у меня исходит из нажатия кнопок, а далее происходит плавный поворот
.....
if(Input.GetKey(KeyCode.W) && !Input.GetKey(KeyCode.A) && !Input.GetKey(KeyCode.D)){ angle = 0f; }
else if(Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.D)){ angle = 45f; }
else if(!Input.GetKey(KeyCode.W) && !Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.D)){ angle = 90f; }
else if(Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.D)){ angle = 135f; }
else if(Input.GetKey(KeyCode.S) && !Input.GetKey(KeyCode.D) && !Input.GetKey(KeyCode.A)){ angle = 180f; }
else if(Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.A)){ angle = 225f; }
else if(!Input.GetKey(KeyCode.S) && !Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.A)){ angle = 270f; }
else if(Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.A)){ angle = 315f; }
transform.eulerAngles = Vector3.Lerp(transform.eulerAngles, new Vector3(0f, angle , 0f), Time.deltaTime * 5f);
....
проблема заключается в том что к примеру от угла 315 к углу 45 идёт поворот по убыванию от 315 к 45, а не 315 до 360 и далее к 45, подскажите к в данном случае делать поворот к ближнему углу?