В общем персонаж бегает в 3D пространстве с помощью WASD, мне нужно было сделать так чтобы он поворачивался в су сторону которую он бежит, сделал так
MoveDirection = new Vector3(Input.GetAxis("Horizontal"), 0.0f, Input.GetAxis("Vertical")) * Speed;
PlayerController.Move(MoveDirection * Time.deltaTime);
..........
float angle = Mathf.Atan2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")) * Mathf.Rad2Deg;
PlayerObject.transform.eulerAngles = Vector3.up * angle;
Вроде всё как нужно но заметил пару таких неприятных вещей:
1. Поворот происходит резкий (хотелось бы хоть немного плавности);
2. Если бежать наискось и потом нажать прямо то происходит небольшой эффект заноса;
Подскажите как это поправить?