공부/Unity

[Unity] 오일러 각(eulerAngles)과 쿼터니언(quaternion)

돌멩이수프 2022. 5. 2. 22:24
728x90

오일러 각(eulerAngles)이란 3차원 공간에서 물체의 방향을 표현하기 위해 오일러가 만든 3개의 각도를 말한다.

오일러 각에는 짐벌락(gimbal lock) 현상이라는 문제가 있다. 서로 다른 회전축이 겹쳐서 한 축에 대한 계산이 불가능한 현상을 말한다. 이 영상을 보면 이해가 매우 잘된다.

 

https://youtu.be/zc8b2Jo7mno

오일러 각에서는 각 축을 개별적으로 계산한 후, 합쳐서 생각하기 때문에 이러한 현상이 나오는데 짐벌락을 피하기 위해 나온 것이 쿼터니언(quaternion)이다.

·쿼터니언은 모든 축을 한 번에 계산하기 때문에 짐벌락 현상이 나오지 않는다.

·회전을 계산할 수 있다.

·180도를 넘어가는 회전은 표현할 수 없다.

사실 유니티 공부를 할 때는 여기까지만 알아도 아무런 문제가 되지 않는다고 한다.

 

https://docs.unity3d.com/kr/530/ScriptReference/Quaternion.html

 

Unity - 스크립팅 API: Quaternion

쿼터니언은 작지만, 짐벌 락(gimbal lock)에 걸리지 않고, 쉽게 보간될 수 있습니다. 유니티는 내부적으로 쿼터니언을 모든 회전을 포현하기 위해 사용합니다. 쿼터니언은 복잡한 수를 기반으로 하

docs.unity3d.com

 

728x90