Как 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 шт):
Автор решения: MBo
→ Ссылка
C учётом последних данных - посчитайте угол через atan2
angle = atan2(shootJoystick.Direction.y - center.transform.position.y,
shootJoystick.Direction.x - center.transform.position.x)
