Euler XYZ Rotation Controller

Main toolbar > Open Track View > Select a rotation track in the Track View Hierarchy > Track View toolbar > Assign Controller > Euler XYZ

Graph Editors > Track View > Open Track View > Select a rotation track in the Track View Hierarchy > Track View toolbar > Assign Controller > Euler XYZ

The Euler XYZ Rotation controller is a compound controller that combines separate, single-value float controllers to specify an angle of rotation about each of the X, Y, and Z axes. Euler XYZ is not as smooth as Quaternion rotation, but it is the only rotation type that you can use to edit rotation function curves.

The Euler XYZ Rotation controller assigns an individual track to the X, Y, and Z components of the position, rotation, or scale of an object. However, the controller assigns three keys (one for each axis), by default.

There are actions available from the Customize User Interface dialog that let you create explicit axis keys.

Euler Rotation and the Noise Float Controller

When a Noise Float controller is applied to an Euler axis, the default Strength setting is 2864.789 or 50 percent of 100 radians in degrees (maximum deflection).

Gimbal Lock and Euler Interpolation

Gimbal lock occurs with Euler rotations when an object is rotated exactly 90 degrees from it's parent. Rotational Axis order, and the coordinate space the rotations occur is important (World Space for Eulers).

For example, if a forearm is rotated 90 degrees around the Y axis relative to the parent object, it is actually rotating 0 degrees around the X axis first, then 90 degrees around the Y axis, and finally it is rotated around the Z axis. However, since the Y axis rotation occurs before the Z axis rotation, the new Z axis is now identical to the original X axis. Change the axis order of Euler rotation to solve the problem. This can also be an issue when setting joint limits with Euler rotations; the axis order is hardcoded to XYZ for rotational limits. Another workaround is to open the Hierarchy > Pivot panel, turn on Affect Pivot only, and then rotate the object's pivot 90 degrees around one of the axes, to change the order in which rotations occur.

Procedures

Example: To use Euler XYZ Rotation:

  1. Create a box, and then select the rotation track in Motion panel > Parameters > Assign Controller rollout.

  2. Click Assign Controller, and then select Euler XYZ in the Assign Controller dialog list. Click OK.

  3. Turn on Animate.

  4. Select Rotation at the bottom of the PRS Parameters rollout.

  5. In the Euler Parameters rollout, select the X axis.

  6. In the Create Key group of the PRS Parameters rollout, click Rotation.

    A rotational key is created.

  7. Move the time slider to frame 50.

  8. Again, in the Create Key group of the PRS Parameters rollout, click Rotation.

  9. In the Key Info (Basic) rollout, enter 500 in the value field.

  10. Select the Z axis in the Euler Parameters rollout, and then enter 90 in the value field of the Key Info (Basic) rollout.

    Play the animation. The box rotates 500 degrees around the X axis and 90 degrees around the Z axis. In this case the X axis is rotated first, then Z.

Interface

Euler parameters are displayed in the Motion panel.

The Euler parameters rollout is displayed when Rotation is selected in the PRS Parameters rollout.

Axis Order: Selects the order that rotations are calculated. The default is X,Y,Z order, where the X axis is rotated first.

X: Displays controller properties for X axis rotation angle.

Y: Displays controller properties for Y axis rotation angle.

Z: Displays controller properties for Z axis rotation angle.

Each axis uses its own independent controller using the float data type. For example, the X and Y Rotation axes could use Bezier Float controllers, while the Z rotation axis uses a Noise Float controller.