Editing Quaternion Function Curves

 
 
 

You can edit the keys on a quaternion fcurve the same as any other fcurve (such as moving, adding, deleting, copying/cutting and pasting keys) and the interpolation between the keys will be quaternion-based. By default, quaternions interpolate the shortest path between two rotations, so quaternion keys should be less than 180 degrees apart for best results.

You can control the keys on quaternion interpolation fcurves using four parameters (tension, continuity, bias, and spin), which are located in the Quaternion Keys toolbar. These parameters control the incoming and outgoing tangent vectors at each key, much like slopes on a regular fcurve.

Because quaternion rotation calculates orientation as a single entity and not individual rotation axis fcurves, any change you make to one rotation fcurve affects the two other fcurves. For example, if you add a key to the rotation X fcurve, a key is also added at the same frame for the rotation Y and Z fcurves.

For information on quaternion rotation in general, see Animating Rotations.

NoteYou can edit the keys (move, add, delete, etc.) on a quaternion curve using the dopesheet, but you cannot change the slope there.

To edit quaternion fcurves:

  1. Select the object with quaternion fcurves and open the Fcurve Editor in the animation editor.

  2. To edit quaternion fcurves, you need to use the Quaternion Keys controls, which are hidden by default.

    To display them, right-click in an empty area in the fcurve editor's toolbar and choose Quaternion Keys.

    A

    Tension

    B

    Continuity

    C

    Bias

    D

    Spin

  3. Select one or more keys on the fcurves and edit the slopes using the Tension, Continuity, Bias, and Spin controls.

    When you add, delete, or move a keyframe on one rotation fcurve, the corresponding key is automatically updated on the other rotation fcurves.

    Note
    • When you type values in the quaternion parameter text boxes, the range is limited to values between - 1 and 1. However, you can surpass this range by using the [ and ] bracket keys (also in conjunction with Shift and Ctrl) to modify the values by different increments. See Setting Values for Parameters for more information.

    • Regardless of whether the rotation is quaternion or Euler, the Value box on the fcurve editor's toolbar always displays Euler angle values.

    • Tension controls the tightness of the curve or how sharply it bends at a key. Negative values produce a looser curve while positive values produce a tighter curve. Tension also has an effect on the speed: negative values causes the object to speed up (ease out) while positive values cause the object to slow down (ease in) as it passes through the key.

         

      On the left, Tension with a value of -3. Original fcurve is ghosted.

      On the right, Tension with a value of 2.

    • Continuity controls how smoothly the curve passes through a key. Negative continuity gives a sharper more linear transition through the key while positive continuity gives a broader transition, bending the tangents in the opposite direction. Setting the continuity to -1 gives the same effect as quaternion spherical linear interpolation.

         

      On the left, Continuity with a value of -1. Original fcurve is ghosted.

      On the right, Continuity with a value of 1.

    • Bias controls the direction of the curve through the key. A negative bias skews the curve towards the previous keyframe (undershoot) while a positive bias skews the curve towards the next key (overshoot).

         

      On the left, Bias with a value of -1. Original fcurve is ghosted.

      On the right, Bias with a value of 1.

    • Spin controls the direction and number of revolutions between keys. You can use negative numbers to reverse the interpolation direction (that is, -1 can be used to flip the interpolation direction).

      • When using a non-zero spin value, the quaternion fcurves displayed in the fcurve editor will have discontinuities. This is only a display artifact and does not affect the interpolation.

      • To convert between Euler and quaternion function curves, use the conversion commands in the Animation menu in the Animation panel — see Converting between Euler and Quaternion Rotations.