private void UpdateFacing(float deltaTime) { float velX = robot.Rigidbody.velocity.x; if (velX < 0) { isFacingRight = true; } else if (velX > 0) { isFacingRight = false; } rotY = isFacingRight ? Mathf.Max(rotY - facingSpeed * deltaTime, -90) : Mathf.Min(rotY + facingSpeed * deltaTime, 90); float angleY = Interpolate.EaseInOut(-90, 90, MyMath.Normalize(rotY, -90, 90)); transform.eulerAngles = new Vector3(0, angleY, 0); }