Чтобы спрайт перестал вращаться только после достижения 45 градусов:
Код
private totalAngle = 0.0f;
float angle = 45 * (Time.deltaTime / 3.0f);
totalAngle += angle;
if (totalAngle < 45)
transform.Rotate(Vector3.forward, angle);
Quaternion Rotate(Quaternion start, Quaternion end, float rotationTime, float time)
{
return Quaternion.Lerp(start, end, time/ rotationTime);
}
Полезный код из сети