Keyframe Types and Easing

Keyframe Types

Hold

A hold keyframe makes the value not change until possibly the next keyframe. Also, there is NO transition between the previous video frame’s values and the time on this keyframe. Essentially, it introduces a hard cut to a new value and sustains it until otherwise. If you think about it in terms of video transitions; this is the hard or jump cut.

Linear

Linear is a straight line between keyframes like / or . Sometimes this is called a ramp. It is a simple way to adjust values by a consistent amount from one video frame to the next.

Smooth

Smooth keyframes draw the smoothest possible line between multiple keyframes. As a result, the values change can accelerate and decelerate. This is okay sometimes to smooth things, but for more control you probably want to use an ease curve.

Track Symbols

The symbol of the keyframe on the track in the Keyframes panel represents its type. However, it is double sided because the type actually applies between keyframes as explained below in Easing. So, you end up with shapes like these:


(Auto Bezier = Smooth)

Tool Tip

Hover the mouse over a keyframe for a few seconds shows a tool tip that shows the time position, the type, and its value on the second line.

image

Easing

Easing was added in version 23.11.

See the Easing Functions Cheat Sheet web page for an animated graphical overview of the Easing options. The icons in the menu are also a quick reminder of the aggressiveness of the acceleration or the trick (back, elastic, bounce).

The behavior applies between keyframes. Remember this: when thinking about “in” or “out”, for Shotcut “in” refers to the beginning of something - a clip, filter, or parameter between keyframes. And “out” refers to the end of something. So, this is not easing into a keyframe and easing out of a keyframe. Rather, it is easing into or out of the change/segment/span/tween of a parameter between keyframes.

To Next

You can choose between Ease Out or Ease In/Out to affect the behavior with the next keyframe:

image

From Previous

Choose the behavior between the previous keyframe and this one:

image