За свою жизнь я не могу понять это. Я провел пару часов, балуясь кватернионами и углами Эйлера, но не смог заставить моего персонажа смотреть в противоположном направлении. Вот что я пытался сделать до сих пор:
Quaternion lookAt = Quaternion.Euler(-transform.rotation.eulerAngles);
Quaternion lookAt = Quaternion.Inverse(transform.rotation.eulerAngles);
gameObject.transform.Rotate(new Vector3(0,180,0)
Quaternion lookAt = Quaternion.Euler(-transform.localEulerAngles)
Я думал, что это будет тривиально, но, видимо, нет. Я не знаю, использовать ли локальные или мировые координаты (я пробовал оба). В большинстве случаев, описанных выше, происходит то, что величина, которую поворачивает персонаж, зависит от направления его движения. transform.Rotate
вообще не вращает моего персонажа. Я не знаю, почему это так сложно, и большинство решений, которые я нашел в Интернете, тоже не сильно помогли. Действительно ценю любые ваши идеи.