Если вам нужен мгновенный поворот машинки, то вам подойдёт
Transform.LookAt
Если нужен плавный во времени поворот, то вдобавок ещё и это
Vector3.RotateTowards. Туда можно передавать и Vector2.
UPD: LookAt для 2д не годится, предложил по сути на основании догадки, так как в 3д работало. Но за 2 минуты нагуглил рабочий способ по запросу "unity 2d rotate sprite {принять гугловское автодополнение запроса} towards mouse":
float angle = Mathf.Atan2(target.position.y - transform.position.y, target.position.x - transform.position.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(new Vector3(0, 0, angle));
Лично создал тестовый проект - проверил, работает. Важный нюанс - спрайт машинки должен быть повёрнут по умолчанию вправо,
Вывод:
учитесь гуглить. Это азы. С плавным, не мгновенным, поворотом разберётесь сами.
UPD2: Хотя, всё же спрайт не обязательно должен быть повёрнут вправо. Просто учитывайте, что приведённый код предназначен для повёрнутых направо. Если ваши спрайты изначально нарисованы передом вверх то просто вычтите 90 из angle. Или прибавьте 90, если спрайт почему-то повёрнут вниз. Но
самое главное, если вы используете несколько разных спрайтов - то у них у всех должна быть одинаковая изначальная ориентация.
transform.rotation = Quaternion.Euler(new Vector3(0, 0, angle));// спрайт, повёрнутый вправо
transform.rotation = Quaternion.Euler(new Vector3(0, 0, angle - 90));// спрайт, повёрнутый вверх
transform.rotation = Quaternion.Euler(new Vector3(0, 0, angle + 90));// спрайт, повёрнутый вниз