using System; using UnityEngine; public class PlayerRotationController : MonoBehaviour { [Range(0, 1)] public float lerpSpeed = 0.25f; public Transform lookAt; public PlayerControl control; private readonly float _len = 5f; private Vector3 _target; private void Update() { var dir = new Vector3(control.movementHorizontal, 0, control.movementVertical).normalized; if (dir != Vector3.zero) { _target = dir * _len; // lookAt.localPosition = _target; } } private void FixedUpdate() { var pos = lookAt.localPosition; lookAt.localPosition = Vector3.Lerp(pos, _target, lerpSpeed); } }