Understanding Rotation and Interpolation in Maya
Introduction
Rotating an object from one orientation to another seems like one of the simplest tasks in animation. In reality, rotation is one of the most mathematically complex transformations that a 3D application performs.
Different mathematical representations of rotation each have unique strengths and weaknesses. Some are easy for artists to understand and edit, while others produce smoother and more reliable interpolation but are much less intuitive to work with.
Maya uses both Euler angles and quaternions throughout its animation system. Understanding how each representation works—and why Maya uses both—helps explain why rotational animation sometimes behaves unexpectedly and why different interpolation methods produce such different results.
Representing Rotation with Euler Angles
Euler angles describe an orientation as three sequential rotations around an object's local X, Y, and Z axes.
In Maya, these correspond directly to the familiar Rotate X, Rotate Y, and Rotate Z channels shown in the Channel Box and Graph Editor.
Rather than storing an orientation directly, Euler angles store the sequence of rotations required to reach that orientation. Because rotations are applied one after another, the order in which they occur is important. Rotating around X, then Y, then Z generally produces a different result than rotating around Z, then Y, then X. This is why every transform in Maya has a rotation order.
For animators, Euler angles are intuitive because each axis can be edited independently. If an object rotates too far around Y, the Y rotation curve can simply be adjusted. The Graph Editor provides direct control over the numerical values of each rotation channel, making timing and animation edits straightforward.
The downside is that the relationship between these three values and the object's final orientation is not intuitive. Every frame, Maya combines the three rotations according to the object's rotation order to compute a single orientation in three-dimensional space. Small changes to one rotation curve can produce surprisingly large changes in the resulting motion because they affect how the remaining rotations are applied.
Euler angles are also susceptible to gimbal lock. When two rotation axes become aligned, one rotational degree of freedom is effectively lost, making certain rotations impossible to represent cleanly. While changing the rotation order can often reduce the likelihood of gimbal lock, it cannot eliminate the problem entirely because it is a limitation of the Euler representation itself.
Representing Rotation with Quaternions
Quaternions represent rotation in a fundamentally different way.
Instead of describing three sequential rotations, a quaternion represents an orientation directly. The internal mathematics are considerably different from Euler angles, but the important consequence is that quaternions avoid the problems caused by rotation order and do not suffer from gimbal lock.
Quaternions also provide an elegant way to interpolate between two orientations. Rather than independently interpolating multiple rotation channels, a quaternion interpolation moves smoothly through orientation space, producing a continuous rotational path.
This makes quaternions extremely useful for computation.
The drawback is that quaternions are not intuitive for artists. A quaternion consists of four mathematical values that have no obvious relationship to rotations around the X, Y, and Z axes. While they are excellent for representing orientation mathematically, they are difficult to visualize and almost impossible to edit directly using traditional animation workflows.
For this reason, quaternions are generally hidden from the animator, even though they are widely used internally by 3D applications.
How Maya Animates Rotation
Although animators create and edit Euler rotation curves, Maya uses both Euler angles and quaternions during animation.
By default, Maya interpolates the Rotate X, Rotate Y, and Rotate Z animation curves independently. This gives animators complete control over the timing and easing of each rotation channel using the Graph Editor.
The Graph Editor is therefore an excellent tool for shaping animation, but it is important to recognize what it is actually displaying. The curves represent the three Euler rotation channels—not the object's final orientation. Predicting how those three curves combine into a rotational path through three-dimensional space often requires considerable experience because the relationship is not immediately obvious.
Behind the scenes, Maya frequently relies on quaternion mathematics for tasks that involve orientation. Operations such as orientation constraints and many internal rotation calculations use quaternions because they provide stable, predictable rotational behavior.
Maya also allows animators to change the interpolation method for rotation animation to Quaternion SLERP. Instead of independently interpolating the three Euler channels, Maya converts the keyed orientations into quaternions and performs a spherical linear interpolation (SLERP) between them.
The resulting motion often follows a much more natural rotational path.
However, this introduces a different limitation.
A standard SLERP progresses between two orientations at a constant angular velocity. Unlike the default Euler workflow, it does not follow the custom easing defined by the Graph Editor. Ease-ins, ease-outs, and carefully sculpted timing are replaced by a mathematically uniform interpolation.
Choosing quaternion interpolation also changes the behavior of the entire interpolation segment. An animator cannot easily decide that one pair of keyframes should use quaternion interpolation while another should continue using the traditional Euler workflow.
In practice, this means each interpolation method excels at solving a different problem.
Euler interpolation provides excellent artistic control over timing but can produce unintuitive rotational motion.
Quaternion interpolation produces excellent rotational motion but sacrifices much of the timing control that animators rely on.
The Quaternion Rotation Bake Tool
The Quaternion Rotation Bake Tool was created to combine the strengths of both approaches.
Instead of treating quaternion interpolation and Graph Editor curves as separate workflows, the tool uses a standard animation curve to control the interpolation parameter of a quaternion SLERP. Rather than progressing at a constant speed, the interpolation can ease in, ease out, or follow any custom timing curve created by the animator.
This allows the rotational path itself to benefit from quaternion interpolation while preserving the timing control provided by the Graph Editor.
The tool also makes quaternion interpolation a deliberate artistic choice rather than a global interpolation setting. Animators can select exactly which portion of an animation should use quaternion interpolation, bake the result back onto standard Euler rotation curves, and continue editing the animation using Maya's existing workflow.
The goal is not to replace Euler animation or to replace quaternion interpolation.
Instead, the tool combines the intuitive editing workflow of Euler curves with the smooth rotational behavior of quaternion interpolation, allowing each representation to be used where it is most effective.