unity градус поворота в vector2 (2 значения от -1,1)

Physics2D.Raycast принимает vector2 для обозначения направления, где вверх - 0,1, вниз 0, -1, вправо 1, 0, и в лево -1, 0 Как я могу преобразовать transform.Rotation.z в Vector2, для того, чтобы луч смотрел туда же, куда и объект, Vector2.down всегда будет пускать луч вниз, независимо от поворота объекта


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

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

Если Fi=transform.Rotation.z означает угол поворота вокруг оси Z, то

Vector2.x = cos(Fi)
Vector2.y = sin(Fi)
→ Ссылка
Автор решения: 1mpulse
 Vector2 correct = Vector2.zero;
 correct.x = Mathf.Cos(transform.rotation.eulerAngles.z * Mathf.Deg2Rad);
 correct.y = Mathf.Sin(transform.rotation.eulerAngles.z * Mathf.Deg2Rad);  
 Debug.DrawRay(transform.position, correct, color: Color.blue, 1);

данный код работает

→ Ссылка
Автор решения: Yaroslav
// перевод градуса в радиану
float radian = transform.Rotation.z*Mathf.Deg2Rad;
Vector2 vector = new Vector2(Mathf.Cos(radian), Mathf.Sin(radian));

Не зная геометрии окружности далеко в геймдеве не уедешь. Что такое Sin, Cos и Pi нужно знать.

→ Ссылка