Как правильно отзеркалить спрайт объекта на 180 градусов при движении объекта за мышкой?

Для отзеркаливания спрайта на 180 градусов при движении объекта за мышкой в Unity, вам понадобится следовать нескольким шагам:

  1. Создайте новый скрипт C# и прикрепите его к вашему игровому объекту.
  1. В скрипте создайте переменную типа Transform, которая будет ссылаться на Transform компонент вашего объекта:
private Transform objectTransform;
  1. В методе Start() запишите значение компонента Transform в переменную objectTransform:
void Start()
{
    objectTransform = GetComponent<Transform>();
}
  1. В методе Update() получите позицию мыши в мировых координатах, используя функцию Input.mousePosition и метод Camera.ScreenToWorldPoint():
void Update()
{
    Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
  1. Определите направление движения объекта путем вычисления разности между позицией объекта и позицией мыши:
Vector3 direction = mousePosition - objectTransform.position;
  1. Используйте метод Mathf.Atan2 для вычисления угла между объектом и мышью в радианах:
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
  1. Отзеркальте спрайт на 180 градусов, установив угол поворота объекта равным текущему углу плюс 180:
objectTransform.rotation = Quaternion.Euler(0, angle + 180, 0);
  1. Установите новую позицию объекта равной позиции мыши, чтобы объект следовал за мышью:
objectTransform.position = mousePosition;

После выполнения этих шагов, ваш объект будет отзеркален на 180 градусов относительно направления движения мыши, и будет следовать за мышью на экране.