Animating Motion Effects Using Keyframes

The word keyframe comes from the traditional workflow in the animation industry, where only important (key) frames of an animated sequence were drawn to sketch a character’s motion over time. Once the keyframes were determined, an in-between artist drew all the frames between the keyframes. With Final Cut Pro, you can set parameters to specific values at specific times and Final Cut Pro acts as an automatic, real-time in-between artist, calculating all the values between your keyframes.

Effects, such as opacity, position, and any other of a clip’s Motion tab settings, can be dynamically changed over the course of your sequence using keyframes. Keyframes are available throughout Final Cut Pro for any feature with parameters that can be changed over time, and keyframes can be used to create sophisticated motion, filter, and transparency effects.

Many clip parameters can be keyframed:

Because you can add keyframes to filters and generators as well as motion settings, the information presented in this chapter can also be used to modify filters and generators (discussed in Using Video Filters and Using Generator Clips).

How Keyframing Works

You place keyframes at specific points in a clip or sequence to change parameter values at those points. For example, if you want the last clip in your sequence to fade to black, you set two opacity keyframes at two different times: one with the value of 100 (fully visible) and a second with the value of 0 (fully transparent). Final Cut Pro interpolates the values between 100 and 0, creating a smooth fade to black.

To add keyframes to a sequence clip, you can use the Canvas or Timeline, or you can open the clip in the Viewer. If you’re keyframing motion, you set keyframes in the Motion tab of the Viewer; if you’re keyframing filter effects, you set keyframes in the Filters tab of the Viewer.

Note: You can also add keyframes to master clips that are opened in the Viewer from the Browser, but these keyframed effects accompany the clip whenever it’s edited into a sequence.

When you use two or more keyframes to change an effect over time, Final Cut Pro automatically interpolates the values between the keyframes so that there’s a smooth change in that parameter. For example, when you look at a clip with a change in opacity using two keyframes, you can see the gradual change from one keyframe to the other in the slope of the opacity overlay, as shown below in the Timeline.

Figure. Timeline window showing a slope between one keyframe and another on an opacity overlay.

Adding additional keyframes increases the complexity of the effect, but the area in between each pair of keyframes in your clip is still smoothly interpolated.

Figure. Timeline window showing slopes between multiple keyframes on an opacity overlay.

Determining the Number of Keyframes to Use

The complexity of the changes in your effects depends on the number of keyframes that you add to a clip. You need at least two keyframes in a clip to make a dynamic change from one value in an effects parameter to another. A more sophisticated change requires three keyframes. To isolate a keyframe change to a certain section of the entire overlay for an effect, you need at least four keyframes.

Creating Simple Effects with Two Keyframes

The simplest thing you can do to make a change is to add two keyframes. For example, you can change the size, or scale, of a clip by adjusting its scale from 25 percent at the first keyframe to 75 percent at the second keyframe.

Figure. Keyframe graph area of the Motion tab showing two keyframes used to make a basic change.

Using Three Keyframes

With three keyframes, you can create more complex effects, such as a curved motion path. In the example below, the position of the clip starts at the location specified by the first keyframe, moves to the position specified by the second keyframe, and then continues on its journey until it reaches the position specified by the third keyframe. (For more information about creating motion paths in the Canvas, see Creating Keyframed Motion Paths in the Canvas.)

Figure. Canvas window in Wireframe mode showing a motion path created using three keyframes.

Using Four or More Keyframes for Complex Effects

You can make isolated changes to sections of an overlay for an effect if you have at least four keyframes. For example, if you have a superimposed clip that’s set at 50 percent opacity for the duration of the clip, but you need it to go to 100 percent for 3 seconds right in the middle, you can create four keyframes on that clip’s opacity overlay. Now you can have the opacity level of the clip start at 50 percent, jump to 100 percent for the duration the keyframes specify, and then drop back to 50 percent for the remaining duration of the clip.

Figure. Keyframe graph area of the Motion tab showing a change to a clip's opacity made using four keyframes.

Keyframing Controls in the Viewer

You can use various controls for keyframing motion effects. Although motion effects, filters, and generator clips have their own individual settings and controls, they use the same controls for keyframing.

Figure. Motion tab of the Viewer showing keyframing controls.
  • Keyframe button: Click to place a keyframe for the corresponding parameter in the keyframe graph area at the current playhead location.

    Note: When the playhead in the keyframe graph area is directly on a keyframe, the keyframe button for that setting becomes a green diamond.

  • Keyframe navigation buttons: Click these buttons, to the left and the right of the keyframe button, to move the playhead from one keyframe to another.
  • Reset button: Click to delete all marked keyframes and reset the parameter to its default value.
  • Keyframe graph area: Shows all the values and keyframes associated with parameters currently displayed in the Viewer.
    Figure. Keyframe graph area showing the keyframe graph ruler, keyframes, and sections of the clip that are not used.
  • Keyframe graph ruler: Corresponds to the duration of the clip or the location of a clip in a sequence:
    • If a clip is opened from the Browser: The keyframe graph ruler shows the duration of the clip itself. The playhead in the Viewer moves independently of the playhead in the Timeline or Canvas.
    • If a clip is opened from a sequence in the Timeline: The keyframe graph ruler shows the section of the Timeline that the clip is edited into. The playhead in the Viewer is locked to the playhead in the Timeline and the Canvas.
  • Section of clip currently used: The frames of a clip in the Viewer that are outside the duration specified by its In and Out points are dimmed so that you know where to apply your keyframes.
  • Current Timecode field: Displays the position of the playhead in the keyframe graph area. You can enter a new timecode value to move the playhead to another position.
    Figure. Motion tab of the Viewer showing the Current Timecode field, Zoom control, and Zoom slider.
  • Zoom control: Lets you zoom in to and out of the duration displayed by the ruler in the keyframe graph area, expanding and contracting the keyframe graph ruler as you do so. This also keeps the area of the visible keyframe graph centered as you zoom into or out. For more information, see Zooming In to the Keyframe Graph Area.
  • Zoom slider: Lets you zoom in to and out of the duration displayed by the keyframe graph ruler. Drag the thumb tabs on either side of the slider to adjust both thumb tabs and leave the visible area of the keyframe graph centered. Press the Shift key and drag one of the thumb tabs to zoom in to or out of the keyframe graph, locking the opposite thumb tab and moving the visible area of the Timeline in the direction in which you’re dragging. For more information, see Zooming In to the Keyframe Graph Area.

Keyframing Tools in Final Cut Pro

Three tools in the Tool palette allow you to add, modify, or remove keyframes on a parameter’s keyframe graph line in the keyframe graph area.

Figure. Pen tool, Pen Delete tool, and Smooth Point tool in the Tool palette.
  • Pen: Allows you to add keyframes to a parameter in the Motion tab or Timeline keyframe graph area by clicking in the keyframe graph area. (To select this tool, press the P key.)
  • Pen Delete: Lets you delete a keyframe from a parameter by clicking the keyframe itself. (To select this tool, press the P key twice.)
  • Smooth Point: Allows you to smooth a keyframe’s interpolation by clicking the keyframe itself. (To select this tool, press the P key three times.)

Keyboard Modifiers for the Pen Tool

To use the Pen tool most efficiently, use these keyboard modifiers:

  • Hold down the Option key while the Selection tool is active to temporarily turn on the Pen tool, then click in the keyframe graph area of the Motion tab or the Timeline to add a keyframe at that point.

  • To remove the keyframe with the Pen Delete tool, hold down the Option key and click an existing keyframe.

    In addition, you can Control-click a keyframe and choose Smooth from the shortcut menu to add Bezier handles to the keyframe. See Smoothing Keyframes with Bezier Handles for information on Bezier handles.

Setting Keyframes

Until you create at least one keyframe for a parameter of a clip, changes you make to that parameter affect the entire duration of the clip. Once you set the first keyframe for a parameter, additional keyframes are generated automatically when you make any subsequent changes to that parameter anywhere else in that clip. You generally need to set at least two keyframes to make changes or effects that are useful or noticeable.

Note: For some parameters, you must click the parameter’s disclosure triangle to view its keyframes in the keyframe graph area.

To better adjust and view the keyframes you’re setting, you may want to zoom in to the keyframe graph area (see Zooming In to the Keyframe Graph Area).

To set a keyframe
  1. Open a clip in the Viewer, then click the Motion or Filters tab.

  2. In the keyframe graph area, move the playhead to the location where you want to put a keyframe.

  3. Click the keyframe button that corresponds to the parameter you are modifying.

    Figure. Motion tab showing the keyframe button for a parameter and a keyframe added at the current playhead position.

    Tip: Any motion effect, audio parameter, or filter parameter can be adjusted in the keyframe graph area of the Timeline.

    For more information about adjusting keyframe graphs in the Timeline, see Working with the Timeline Keyframe Editor.

To set keyframes from the Viewer or Canvas
Do one of the following:
  • To add a keyframe to all of the selected clip’s motion settings at once, click the Add Motion Keyframe button in the Video tab of the Viewer or in the Canvas.

    Figure. Canvas window showing the Add Motion Keyframe button.
  • To set keyframes for a single parameter, Control-click the Add Motion Keyframe button, then choose a parameter from the shortcut menu.

    Figure. Shortcut menu showing motion parameter options.
To set a keyframe using the Pen tool
Do one of the following:
  • Select the Pen tool in the Tool palette (or press P); then, in the appropriate tab of the Viewer, click a parameter’s keyframe graph line (in the keyframe graph area) where you want to add the keyframe.

  • Hold down the Option key and click a parameter’s keyframe graph line where you want to add the keyframe.

    Tip: This is also useful for setting keyframes in the video opacity and audio level overlays of a clip in the Timeline.

Once you’ve added at least one keyframe to a parameter, new keyframes are automatically added whenever you move the playhead and make further adjustments. To better see what you are doing, you may want to add more space to the keyframe graph area before you set additional keyframes. For more information about resizing the keyframe graph area, see Resizing the Keyframe Graph Area.

To add more keyframes
  1. Move the playhead to another point in the clip where you want to set a keyframe.

  2. Do one of the following:

    • Adjust the appropriate parameter control.

    • Type a number in the appropriate number field.

    • Click a parameter’s keyframe button to add a keyframe with the current value of the parameter.

    • Hold down the Option key and click a parameter’s keyframe graph line where you want to add the keyframe.

    This doesn’t change the parameter’s current value; it simply adds a keyframe with the same value. You can add as many keyframes as you want by clicking repeatedly with the Option key held down.

Adjusting and Deleting Keyframes

After you add keyframes to a parameter, you can adjust keyframes to produce the effect you want. You can modify individual keyframes, interpolated values between keyframes, or all keyframes at one time. You can also move and delete keyframes at any time.

To adjust the value of a single keyframe
Do one of the following:
  • Move the playhead to the keyframe you want to adjust, then drag the appropriate parameter control to a new value.

  • Move the playhead to the keyframe you want to adjust, type a new value in the appropriate parameter’s number field, then press Return.

  • Move the pointer over the keyframe you want to modify (the pointer becomes a crosshair), then drag the keyframe up or down.

    • To raise the keyframe’s value: Drag the keyframe up.
    • To lower the keyframe’s value: Drag the keyframe down.
      Figure. Keyframe graph area of the Motion tab showing a keyframe being dragged and a box displaying the new value.
To adjust a parameter value between two keyframes
  • Move the pointer over the section of the parameter’s keyframe graph line between the two keyframes (the pointer turns into the Adjust Line Segment pointer), then drag that area up or down to modify it.

    Figure. Keyframe graph area showing a section of the keyframe graph line between keyframes being dragged to adjust its value.

    Note: The keyframes on either side of the adjusted section are changed simultaneously.

To adjust the values of an entire parameter with all keyframes simultaneously
  1. Hold down the Shift key, then move the pointer over a parameter’s keyframe graph line (the pointer turns into the Adjust Line Segment pointer).

  2. Drag the parameter’s keyframe graph line up or down to change the value.

    As you drag, a box displays the new values for the overlay.

    Note: This method changes the values for that parameter over the course of your entire clip, keeping the relative shape of the keyframes and interpolated values intact.

To move a keyframe forward or backward in time
  • Position the pointer over the keyframe you want to move (the pointer turns into a crosshair), then drag the keyframe forward (right) or backward (left).

    As you drag, a box shows the timecode duration of the change you’re making.

To delete a keyframe
Do one of the following:
  • Control-click the keyframe you want to remove, then choose Clear from the shortcut menu.

    Figure. Keyframe graph area showing the Clear command in a shortcut menu.
  • Move the playhead to the keyframe you want to remove, then click the keyframe button for the corresponding parameter.

  • Position the pointer over the keyframe you want to remove (the pointer turns into a crosshair), then drag the keyframe out of the keyframe graph area. When the pointer turns into a small trash can, release the mouse button.

  • Hold down the Option key, position the pointer over the keyframe you want to remove (the pointer turns into the Pen Delete tool), then click the keyframe.

    Note: This is also a good way to delete keyframes directly in the opacity and level overlays of a clip in the Timeline.

To delete keyframes for all of an attribute’s parameters
  • Click the Reset button for the appropriate attribute.

    Figure.  Keyframe graph area and the Reset button for an attribute.

Moving Between Keyframes

As you work with keyframes, you’ll need to move to different keyframes to check your motion effects.

To move the playhead from one keyframe to another
  • Click the left or right keyframe navigation button for the appropriate parameter.

To move left one keyframe
  • Press Option-K.

To move right one keyframe
  • Press Shift-K.

Note: The keyframe navigation commands work only on tracks with Auto Select turned on.

Resizing the Keyframe Graph Area

For precise keyframe adjustments, you can resize the display height and width of each parameter in the keyframe graph area.

If you need more vertical space to view your keyframes in the Viewer, you can adjust the display height of any parameter in the Filters, Controls, or Motion tab.

To adjust the display height of a parameter in the Filters, Controls, or Motion tab
  1. In the keyframe graph area, move the pointer over the lower edge of the parameter whose display height you want to adjust.

  2. When the pointer turns into a Resize pointer, drag to resize the parameter display height. Drag up to make the parameter display height shorter, or drag down to make it taller.

    Figure. Motion tab showing the parameter display height being decreased by dragging.
    Figure. Motion tab showing the parameter display height being increased by dragging.
To adjust the width of the keyframe graph area
  • Drag the lower-right corner of the Viewer to the right to adjust its width.

To temporarily work with the Motion or Filters tab in the Timeline
  1. Drag the Motion or Filters tab from the Viewer to the Timeline.

    The tab is now a tab within the Timeline.

  2. When you’ve finished making adjustments, do one of the following:

    • Control-click the tab, then choose Close Tab from the shortcut menu.

    • Drag the tab back to the Viewer.

    The tab reappears in the Viewer.

Zooming In to the Keyframe Graph Area

For a more detailed view of the keyframes you’re setting and adjusting, you can zoom in to and out of the keyframe graph area in the Motion and Filters tabs in the Viewer.

To zoom using the Zoom slider
  • Drag the left or right thumb tab on the side of the Zoom slider. While zooming, the visible area of the keyframe graph stays centered.

    Hold down the Shift key while you drag one of the thumb tabs to zoom in to or out of your sequence from the selected end of the Zoom slider, while keeping the other thumb tab locked in place. This also moves the visible area of the keyframe graph in the direction you’re dragging as you zoom.

    Figure. Zoom slider showing thumb tabs on either side.
To zoom using keyboard shortcuts
  1. With the keyframe graph area open, place the playhead at the location in the keyframe graph area where you want the center of your zooming to occur.

  2. Do one of the following:

    • To zoom in: Press Command-Equal Sign (=).
    • To zoom out: Press Command-Hyphen (-).
To zoom using the zoom tools
  1. Select the Zoom In or Zoom Out tool in the Tool palette.

    Figure. Zoom In and Zoom Out tools in the Tool palette.
  2. Do one of the following:

    • Click in the keyframe graph area.

    • Drag to select a region to zoom in to or out of.

      As you drag, the view automatically snaps to the specified percentages of zoom in the keyframe graph area.

    • Click or drag repeatedly to increase the zoom factor.

      When the keyframe graph is zoomed in or out to the maximum level possible, the plus and minus signs on the zoom tools disappear.

      Figure. Keyframe graph area showing the Zoom In tool being used to zoom in.

    Note: To temporarily switch the tool, press Option while the Zoom In or Zoom Out tool is selected.

Once you’ve zoomed in to the keyframe graph area, you can navigate to different parts of your clip using the Zoom slider.

To scroll along the entire duration of your clip
  • Drag the center of the Zoom slider to the left or to the right.

To change the duration of the keyframe graph ruler
  • Click or drag the Zoom control.

    • To zoom out and show more of your sequence: Click the right side of the control.

    • To zoom in and show more detail: Click the left side of the control.

      Note: The current area of the keyframe graph remains centered.

      Figure. Zoom control.

Adjusting All Opacity Keyframes of a Clip

You can raise or lower the values for all opacity keyframes in a clip (or multiple clips) at one time by choosing Modify > Levels (or pressing Command-Option-L). You can adjust all opacity keyframes, either up or down, maintaining the relative positions of the keyframes, or you can set all keyframes to a single, absolute level (effectively removing any variations in opacity over time). You can also use this command to modify audio level keyframes. For more information, see Adjusting Audio Levels in the Timeline.

Example: Using Keyframes to Make Opacity Changes

This example illustrates how you can use Final Cut Pro to dynamically adjust opacity over time to create sophisticated multilayer effects. You’ll layer two clips and adjust a clip’s opacity over time. The topmost clip fades in, appears superimposed above the other clip for a few seconds, and then fades up (nearly obscuring the underlying image) before fading away completely.

To dynamically adjust opacity over time
  1. Edit two clips of equal duration into your sequence, each in its own video track.

    Note: The clip you want to appear in front should be placed in track V2; the other clip should be placed in track V1.

    Figure. Timeline window showing two clips, one superimposed on the other.
  2. Open the clip in track V2 in the Viewer, then click the Motion tab.

  3. Click the disclosure triangle for the Opacity parameter to reveal its keyframe graph line in the keyframe graph area.

  4. To adjust the opacity of the entire clip, do one of the following:

    • Drag the Opacity slider to the left until the value in the number field reads “50.”

    • Type “50” in the Opacity number field, then press Return.

    • Position the pointer over the Opacity keyframe graph line in the keyframe graph area; when the pointer turns into the Adjust Line Segment pointer, drag down until the value in the number field reads “50.”

      Figure. Motion tab showing the Opacity parameter set to 50 and the Canvas showing both clips blended together.
  5. In the Current Timecode field of the Motion tab, enter “01:00:02:00” to move the playhead.

    Figure. Current Timecode field in the Motion tab.
  6. Click the keyframe button for the Opacity parameter to create a keyframe at the new position of the playhead.

    Because it takes at least two keyframes to create a dynamic change to a parameter over time, you’ll need to add another keyframe.

  7. Move the playhead to 01:00:03:00 on the keyframe graph ruler, then create another keyframe.

    Figure. Motion tab showing a second keyframe added to the Opacity keyframe graph line.
  8. In the keyframe graph area, move the pointer to the left of the two keyframes on the Opacity keyframe graph line. When the pointer turns into the Adjust Line Segment pointer, drag down until the number field reads “0.”

    Figure. Motion tab showing the Opacity keyframe graph line starting at 0 percent opacity and increasing to 50 percent.

    The shape you’ve given to the Opacity parameter’s keyframe graph line makes the top layer completely invisible for the first 2 seconds of playback. Over the next second it fades up until it reaches a total opacity of 50 percent, which looks like an even mix of both layers.

  9. Move the playhead to 01:00:04:00, then add another opacity keyframe.

    Because you can’t move this keyframe without causing a ramp in that segment of the keyframe graph line, you need to add another keyframe.

  10. Move the playhead to 01:00:05:00, then add another keyframe.

  11. Adjust the opacity setting of this last keyframe to 100 percent.

    Figure. Motion tab showing the Opacity keyframe graph line starting at 0 percent opacity and ending at 100 percent.

    The shape of the Opacity parameter’s keyframe graph line leaves the opacity of the top layer at 50 percent for 1 second, and then the topmost layer fades up to 100 percent, completely obscuring the clip on track V1.

  12. To complete this sequence, fade the topmost layer out again by adding one last keyframe. Move the playhead to 01:00:06:00, add another keyframe, then change its opacity value to 0.

    Figure. Motion tab showing keyframes used to fade a clip in and out by changing the opacity level over time.

    Tip: You can also do the above steps using the opacity overlay in the Timeline. For more information, see Example: Keyframing Opacity in the Timeline.

Example: Keyframing Opacity in the Timeline

There is a faster way to create the Opacity parameter keyframes you created in the previous example. You do this by adjusting the clip’s opacity over time using the opacity overlay in the Timeline.

To adjust a clip’s opacity over time using the opacity overlay
  1. In the Timeline, edit two clips of equal duration into your sequence.

    Note: The clip you want to appear in front should be placed in track V2; the other clip should be placed in track V1.

    Figure. Video clips layered together in tracks V1 and V2 of the Timeline.
  2. Select the Clip Overlays control to display the opacity and level overlays of each clip in your sequence.

  3. Position the pointer over the opacity overlay (located directly on top of the clip on track V2). When the pointer turns into the Adjust Line Segment pointer, drag the entire overlay down so that the opacity value is 50 percent.

    Figure. Video track showing the opacity overlay being dragged and a box appearing to display the new value.

    Tip: If you’re having problems getting the value of the overlay to be exactly 50, hold down the Command key while you’re dragging to gear down the ratio between the movement of your mouse and the change in the opacity value, enabling you to adjust the overlay more precisely.

  4. Now, use a shortcut to create all the keyframes you need on the overlay at once. Hold down the Option key while you position the pointer on top of the opacity overlay on the clip in track V2. When the pointer turns into the Pen tool, click the overlay to create five keyframes at 01:00:02:00, 01:00:03:00, 01:00:04:00, 01:00:05:00, and 01:00:06:00 in the Timeline.

    Figure. Video track showing an opacity overlay with five keyframes set at 1-second intervals.

    Tip: If you’re having trouble creating the keyframes at exactly the times you want, try zooming in to your clip in the Timeline by using one of the zoom controls, or by pressing Command–Equal Sign (=) to zoom in to the location of the playhead.

  5. Release the Option key, then drag each of the opacity overlay segments between keyframes (or drag the keyframes themselves up or down to the values you want).

    • To adjust an overlay segment using the Selection tool: Position the pointer so that it’s directly over an overlay segment. When the pointer turns into the Adjust Line Segment pointer, drag the segment up or down.
    • To adjust a keyframe using the Selection tool: Position the pointer so that it’s directly over a keyframe. When the pointer turns into a crosshair, drag the keyframe up or down.
      Figure. Video track showing a clip's opacity keyframes being adjusted by dragging.