3D에서 회전을 행렬 대신 단위 쿼터니언으로 표현하면 다음과 같은 몇 가지 이점이 있습니다.
/**
* brief : Euler 각 (x,y,z) 를 Quaternion 으로 반환한다
* param : Euler, return Quaternion
**/
public static Quaternion Euler(float x, float y, float z);
Quaternion rotation = Quaternion.Euler(0, 30, 0);
public static Quaternion Slerp(Quaternion a, Quaternion b, float t);
transform.rotation = Quaternion.Slerp(from.rotation, to.rotation, timeCount);
회전 from으로부터 회전 to 까지 자연스러운 구형 회전 보간을 만들어준다. t의 범위는 0~1 사이로, 보간에서의 tessellation을 의미한다.
t 값이 작을수록 보간 간격이 넓어진다
유사 함수
SlerpUnclamped : a부터 b까지의 회전 보간값을 반환하는데, 기존의 0~1 사이를 벗어난 값도 구할 수 있다?
public static Quaternion SlerpUnclamped(Quaternion a, Quaternion b, float t);
https://hub1234.tistory.com/21
https://www.sciencedirect.com/topics/engineering/euler-angle
https://en.wikipedia.org/wiki/Euler_angles
https://edward0im.github.io/engineering/2019/11/12/euler-angle/