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

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

1. Создайте новый скрипт C# и прикрепите его к вашему игровому объекту.

2. В скрипте создайте переменную типа Transform, которая будет ссылаться на Transform компонент вашего объекта:

private Transform objectTransform;

3. В методе Start() запишите значение компонента Transform в переменную objectTransform:

void Start()
{
    objectTransform = GetComponent<Transform>();
}

4. В методе Update() получите позицию мыши в мировых координатах, используя функцию Input.mousePosition и метод Camera.ScreenToWorldPoint():

void Update()
{
    Vector3 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}

5. Определите направление движения объекта путем вычисления разности между позицией объекта и позицией мыши:

Vector3 direction = mousePosition - objectTransform.position;

6. Используйте метод Mathf.Atan2 для вычисления угла между объектом и мышью в радианах:

float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;

7. Отзеркальте спрайт на 180 градусов, установив угол поворота объекта равным текущему углу плюс 180:

objectTransform.rotation = Quaternion.Euler(0, angle + 180, 0);

8. Установите новую позицию объекта равной позиции мыши, чтобы объект следовал за мышью:

objectTransform.position = mousePosition;

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