[Unity]/[C#]

[C#] 두 점, 두 벡터 사이의 각도 구하는 법 (-180 ~ 180)

극꼼 2021. 7. 22. 18:52
반응형


1. 두 점 사이의 각도 구하는 법

Mathf.Atan2, Mathf.Rad2Deg 이용

Vector2 point1;
Vector2 point2; //비교할 점 2개

Vector2 offset = point2 - point1;

float deg = Mathf.Atan2(offset.y, offset.x) * Mathf.Rad2Deg;

 

 


2. 두 벡터 사이의 각도 구하는 법

Vector3.SignedAngle 이용

Vector3.SignedAngle(회전 축 벡터, 비교할 벡터, 기준이 되는 벡터);

 

 

예시) 비교할 벡터가 -Vector3.forward이고, y축 회전일 때의 코드입니다. 

Vector3 dir; // 비교할 벡터
float angle = Vector3.SignedAngle(Vector3.up, dir, -Vector3.forward);

 

 

 

반응형