Как Vector2.angle из диапазона от 180 до -180 преобразовать в диапазон от 0 до 360?

Это джойстик

float angle = Vector2.Angle(center.transform.position, shootJoystick.Direction);
hand.transform.rotation = Quaternion.Euler(new Vector3(0, 0, angle));

Нахожу угол между синей точкой (center.transform.position) и красной (shootJoystick.Direction)
Проворачиваю руку персонажа на этот угол (hand.transform.rotation)
Проблема в том, что она вращается полукругом. Как Vector2.angle из диапазона от 180 до -180 преобразовать в диапазон от 0 до 360?


Ответы (3 шт):

Автор решения: Igor

Прибавить к отрицательному углу 360 градусов.

→ Ссылка
Автор решения: Danis

прибавить к углу 180 градусов

Vectoe2.angle() + 180

→ Ссылка
Автор решения: MBo

C учётом последних данных - посчитайте угол через atan2

 angle = atan2(shootJoystick.Direction.y - center.transform.position.y,
               shootJoystick.Direction.x - center.transform.position.x)
→ Ссылка