Segment Functions

Katana interpolates the values between one keyframe and the next based on the segment function assigned to the first of the two keyframes. Three special segment functions can also be assigned to the segment before the first keyframe or after the last: cycle(), cycle_offset(), and mirror().

To change the segment function for either a keyframe or for the segment at the beginning or end of a curve

1.   Select the keyframe(s) or segment to change (to select a segment click on it).
2.   Then, either:

Right-click and select Segment Type > ... .

OR

Select the segment function from the dropdown menu in the bottom-right corner of the Curve Editor.

Available Segment Functions

The following are a list of available segment functions:

bezier()

The bezier segment function is the most versatile. It uses four points - the keyframes at the start and end, and two control points - to define the segment. The control point position is shown with an arrowhead. The weight of a control point, which determines how strong its influence is over the generated curve, is determined by the length of the handle.

constant()

The constant segment function uses the keyframe’s value for the entire segment.

constant_next()

The constant_next segment function uses the next keyframe’s value for the entire segment.

ease()

The ease segment function flattens out the segment at its beginning and end. This is similar to having flat tangents on the two control points when using bezier curves.

easein()

The easein segment function starts the segment flat and then maintains the same acceleration until it reaches the next keyframe. This results in the velocity curve for the segment being a straight line that starts at zero.

easeout()

The easeout segment function finishes the segment flat while maintaining a constant acceleration throughout the segment. This results in both the velocity curve for the segment being a straight line that ends at zero.

linear()

The default segment function. The values from one keyframe move in a straight line to the next keyframe.

match()

The match segment function gives the segment the same velocity (rate of change) at both the start and end of the segment.

matchin()

A segment with the matchin segment function begins with a velocity that matches that at the end of the previous segment, the segment ends with zero velocity. This has the effect of making the tangent at the start match the slope of the previous segment and the tangent at the end flat.

matchout()

A segment with the matchout segment function begins with zero velocity and ends with a velocity that matches that at the beginning of the next segment. This has the effect of making the tangent at the start flat and the tangent at the end match the slope of the next segment.

spline()

The spline segment function uses the Catmull-Rom spline function that uses four keyframes to calculate the value at a given frame. As the frame approaches a keyframe, the curve tends towards the value at the keyframe, eventually passing through it.