삼각함수는 삼각형의 각도를 이용하여 각 변의 비율을 구하는 함수를 의미함
탄젠트는 밑변과 높이 사이의 각도를 이용해 밑변과 높이의 비율을 구하는 것을 의미함
그렇다면 아크 탄젠트는 무엇인가
아크 탄젠트는 역삼각함수라고도 부릅니다. 즉 각도를 이용해 비율을 구했던 삼각함수의 역순으로
비율을 통해 각도를 구하는 것을 말합니다.
유니티에서 아크탄젠트를 이용한다고 하는데 이것을 활용한다면
x축과 y축의 비율을 활용하여 각도를 구하는 것을 의미합니다
Atan2 함수란?
아크탄젠트를 사용하는 개발자들이 개발자들의 편의를 위해 만들 함수이다.
private void RotateArm(Vector2 direction)
{
float rotZ = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
characterRenderer.flipX = Mathf.Abs(rotZ) > 90f;
armPivot.rotation = Quaternion.Euler(0, 0, rotZ);
}
Atan2를 사용할 땐 소괄호() 안에 y 축 값과 x 축값을 순서대로 넣게 됩니다. 이렇게 만들어진 값은
라디안 값으로 수학에서 파이를 180도로 정의한 개념입니다. 이것을 우리가 아는 각도 (degree) 로
바꿔주기 위해 Mathf.Rad2Deg 라는 값을 곱해줍니다.
쉽게 이야기하여 Atan2로 얻은 라디안 값을 우리가 아는 각도값으로 변환해주는 것입니다.
이렇게 얻은 값은 z축의 값으로 쓰일 수 있습니다.