3D 응용프로그램에서 로테이션은 보통 쿼터니언 또는 오일러 각으로 표현됩니다. 대부분의 경우 Unity는 로테이션의 내부 표현을 위해 쿼터니언을 사용하지만, 기본적으로 Unity에서의 로테이션과 오리엔테이션을 이해하는 것이 중요합니다.
외부 소스에서 애니메이션을 임포트할 때, 이 파일은 보통 오일러 형식의 키프레임 애니메이션을 포함합니다. Unity는 기본 동작으로 애니메이션을 쿼터니언 값으로 리샘플링한 후 애니메이션의 매 프레임에 대해 새 쿼터니언 키프레임을 생성합니다. 이런 동작을 통해 소스 애니메이션과 Unity에서 표시하는 애니메이션 간에 눈에 띌 만한 차이를 최소화합니다.
어떤 경우에는 이렇게 리샘플링을 하더라도, 임포트한 애니메이션을 쿼터니언 방식으로 표현한 것이 원본과 여전히 다소 다를 수도 있습니다. 그러므로 Unity 5.3부터는 애니메이션 리샘플링을 하지 않도록 설정하는 옵션이 있습니다. 이 옵션을 설정하면 런타임 시 원본 오일러 애니메이션 키프레임을 대신 사용할 수 있습니다.
애니메이션 파일의 원본 오일러 커브 값을 사용하기 위해서는 애니메이션 임포트 인스펙터에서 “리샘플 커브” 옵션을 반드시 해제해야 합니다.
이 옵션이 활성화되어 있으면 로테이션은 쿼터니언으로 리샘플링되며 이 동작이 기본값입니다. 이 옵션이 비활성화되어 있으면 로테이션 커브는 리샘플링되지 않으며 해당 로테이션 커브는 원래 커브 타입에 맞춰 쿼터니언 또는 오일러 모드로 원본 키프레임에서 임포트됩니다. 참고: 프리로테이션이나 포스트로테이션이 있는 조인트의 모든 로테이션 커브는 자동으로 FBX SDK에 의해 리샘플링되며, 자동으로 쿼터니언 커브로 임포트됩니다.
임포트된 파일의 다양성을 최대한 지원하고 정확도를 높이기 위해 Unity는 모든 일반(무반복) 오일러 로테이션 순서를 지원하며, 커브는 원본의 로테이션 순서대로 임포트 됩니다.
로테이션 리샘플링을 비활성화하고 원본 오일러 커브를 사용하는 경우는 주로 프레임 간의 기본 쿼터니언 보간 결과가 잘못되어 문제를 일으키는 경우입니다.
리샘플링하지 않은 로테이션을 사용할 때에는 애니메이션 재생 시 아주 미세한 시각적 차이가 발생합니다. 하지만 그 안을 들여다보면, 오일러 방식으로 임포트된 로테이션 커브는 항상, 심지어 런타임 시점에서도 그렇게 유지됩니다.
엔진이 쿼터니언을 사용하여 작동하기 때문에, 로테이션 값은 어느 시점이 되면 쿼터니언으로 변환되어야 합니다. Unity 5.3 이전에는 항상 임포트 시점에 변환되었습니다. Unity 5.3에서는 애니메이션 임포트 인스펙터의 리샘플 커브 옵션이 꺼져 있으면 로테이션 값이 게임 오브젝트에 적용되기 전까지는 오일러 값을 유지합니다. 즉 이전에 비해 최종 결과물 품질이 향상됩니다.
메모리 측면에서 보자면, 로테이션 커브를 응용 소프트웨어에서 만들지 않을 경우 이득이 있습니다.
Unity의 트랜스폼 인스펙터에서 사용하는 오일러 각은 기본 순서 Z, X, Y 순으로 적용됩니다.
Unity의 기본 순서와 다른 로테이션 순서의 오일러 커브를 포함한 애니메이션을 임포트하여 재생 또는 편집할 경우 현재 로테이션 순서가 로테이션 필드 옆에 표시됩니다.
서로 다른 로테이션 순서를 사용하는 여러 개의 변환을 편집할 경우 각각 다른 로테이션 순서의 커브에 동일한 오일러 로테이션을 적용하면 서로 다른 결과가 나온다는 경고가 표시됩니다.