Есть 2D персонаж с вложенными объектами:
Player (скрипт движения персонажа и просто обертка)
- Body (спрайт тела)
- Hand (объект, чтобы вращать всей рукой)
- - Wrist (спрайт руки)
- - Gun (спрайт и скрипт оружия)
- - - BulletSpawn (объект-хелпер, где спавнить пули и в какую сторону)
При движении влево, нужно развернуть (отзеркалить) Player, для этого делаю:
Vector3 scale = transform.localScale; // Player рутовый объект
scale.x *= -1;
transform.localScale = scale;
Все работает, игрок отразился как нужно, но проблема с вектором вращения, когда пытаюсь получить
bulletSpawn.transform.rotation
, получаю какие-то совсем странные значения, понимаю что это вектор * -1 из-за масштабирования для поворота, но не понимаю, что нужно сделать, чтобы все работало и не сьезжали значения поворота.
Сейчас пробую сделать отзеркаливание персонажа через поворот по оси y, но дополнительно нужно еще менять z позиции для слоев, чтобы перенести их на первый план.
Как правильно отзеркалить персонажа при движении влево-вправо, чтобы не мучаться с поворотами ?