티스토리 뷰

Quaternion은 Unity로 작업을 진행하며 매우 자주 쓰게 되는 요소입니다.

그런 만큼, 기존에도 알고 있었던 요소지만, 본 블로그에서 상세하게 다루지는 않았어서 한번 정리 해 보았습니다.

 

Quaternion에 대하여

Quaternion은 Unity에서 방향 계산 시에 사용하는 개념이다. 일반적인 좌표계념과는 다른 방식을 쓰기 때문에 다소 다루기 까다롭긴 하나, 방향 계산이라는 것이 워낙 많은 곳에서 사용되다 보니, 반드시 익숙해져야 할 요소이기도 하다.

 

Quaternion의 함수는 다음 4종류가 있는데, 어지간하면 Quaternion.Euler 하나만으로도 처리 가능한 편이다.

  • Quaternion.Euler(Vector3) - Vector3에 해당하는 오일러 각도를 Quaternion으로 변경한다.
  • Quaternion.LookRotation(forward, upwards) - 상단이 upwards  쪽을 향하는 forward 방향으로 각도를 변경한다.
  • Quaternion.Slerp(Quaternion1, Quaternion2, float) - Q1과 Q2 사이를 float로 구형보간한다.
  • Quaternion.FromToRotation(Vector3 from, Vector3 to) - from 벡터가 to 벡터의 위치로 가도록 회전시킨다.

 

알아두면 좋은 점

오일러 각도를 Quaternion으로 변경하는 함수(Quaternion.Euler)는 Radian 각도가 아닌, Degree 각도를 사용한다.

때문에 Radian 각도라면 Mathf.Rad2Deg를 곱해서 Degree 각도로 변형한 뒤에 사용해야 한다.

또한, Quaternion 값을 Vector 값 앞에 두고 곱셈을 하면 Vector값의 방향을 Quaternion 만큼 돌릴 수 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함