Example #1
0
    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);
    }