Skip to main content

Keyframes, easing, and curves

This page covers setting and editing keys, the dope sheet, the curve editor, channel filters, row operations, and the ease picker. For the transport row and panel layout, see Animation.

Setting keys​

Auto-keying (Record mode)​

Enable Record (Ctrl+Shift+R anywhere except the focused Animation panel, or Edit ▸ Record (auto-key)) to arm auto-keying. While Record is on, moving or editing any keyable parameter at a new time creates a key automatically. The status bar shows Record ON — transform edits key at the playhead.

Manual keying​

Without Record armed (these shortcuts require the Animation panel to be focused):

  • S — set a key on all keyable channels of the selected object at the playhead.
  • Shift+S — set a key on the channels currently selected in the channel tree.

The Animation panel's Key button (in the transport row) also keys the channels selected in the channel tree. It keys only the rows you selected; it does not add keys to linked axes and does not turn on Record. If none of the selected rows can be keyed, the footer readout shows Select editable animation channels to key.

  • Right-click a channel row — keys one channel at the current time. The label depends on the channel type:
    • Add Keyframe — for standard channels
    • Add Step Key — for channels using stepped interpolation
    • Key This Component (…) — keys the named component of a vector or colour channel
    • Key All Components — keys every component of a vector or colour channel
    • Keyframe ▸ submenu + Key Contents — on container rows (submenu holds the same verbs per sub-channel)
    • Remove Keyframe — when a key already exists at the playhead (vector and colour channels show Remove Key on This Component and Remove Keys on All Components instead)
  • Right-click a value field in panels that support keying (a key icon appears in the row) ▸ Add Keyframe — keys that one parameter.

When a channel receives its very first key, the key value is seeded from the parameter's current live value, so the starting state is automatically preserved.

Key a transform from the viewport​

  1. Select the part or parts to animate and place the playhead at the required frame.
  2. Right-click the selection in the viewport and open Keyframe.
  3. Choose Key Transform (N channels) to key the offered transform channels, or open Position, Rotation or Scale for a narrower choice.

The submenu's first line reports whether the selection is unanimated, already animated, or keyed at the playhead. Key All Position, Key All Rotation and Key All Scale key the corresponding components. While the part's transform groups are linked, adding or removing a key also affects its other linked transform axes at that frame (see Linked channels). Individual component entries change from Key … to Remove Key — … when that component already has a key at the current frame.

For a selected group, keys belong to the group transform rather than each child part. Its Scale submenu offers Key Scale (uniform) because group scale is one uniform channel.

The menu also provides Jump to Previous Key, Jump to Next Key and Clear All Keys on …. Jump entries include the destination frame and are disabled when there is no key in that direction; they move the playhead without creating an undo step. Clear All Keys on … is unavailable when the selection has no keys. Clearing affects the offered channels on the named selection, so check that target before choosing it. Key edits can be undone. Successfully adding a key also arms Record, allowing the next transform edit at a different frame to create another key; turn Record off when finished animating.

If nothing can be keyed, the status bar says Nothing to key — no keyable channel in that selection or Could not key: … with the reason. If no part is selected, right-clicking a part selects it first.

Selecting keys​

Click a key diamond in the dope sheet to select it. The rules are:

GestureResult
ClickSelect that key (replaces the selection unless all hit keys were already selected)
Ctrl+clickSelect every key from the last key you clicked to this one (a range)
Shift+clickToggle this key in or out of the selection
ASelect all visible keys
Alt+ADeselect all keys
EscClear the selection
KAdd every visible key at the frames of the selected keys (a column); does nothing when no key is selected
Ctrl+KSelect every visible key at the playhead — replaces the current selection

A plain click does not automatically add linked siblings to the selection. K column selection, and right-clicking a collapsed row's key, can also select linked transform keys at the same frame. Clicking an already-selected key preserves the existing selection; use Alt+A first when you want to start a new selection. Clicking a key without dragging also moves the playhead to it. Clicking a key on a collapsed or parent row selects every key under that row at that frame; expand the row and click the key on its own channel row to select just that one.

Dope sheet gestures​

Moving keys: Drag a selected key diamond horizontally. Multiple selected keys move together, preserving their relative spacing. Keys snap to frames and to camera, environment and layer cut boundaries while you drag. Hold Ctrl while dragging to place a key between frames.

Retime: select two or more keys. Drag the retime handle at either end of the selection, just outside it, to scale their timing about the opposite end. Hold Ctrl as you start to scale about the playhead instead.

Ctrl+drag a selection box to remove keys from the selection. To insert a key without changing the curve, Ctrl+click the lane between two keys (see Segment selection).

Nudging keys:

ShortcutAmount
Alt+,−1 frame
Alt+.+1 frame
Shift+Alt+,−10 frames
Shift+Alt+.+10 frames

Navigate between keys:

ShortcutAction
,Jump to the previous key
.Jump to the next key

Deleting keys​

Press Del or X to delete the selected keys. Undo with Ctrl+Z.

Key types and interpolation​

Right-click selected keys to set interpolation, or use the Keys… menu in the footer strip. Shortcuts work when keys are selected:

ShortcutTypeBehaviour
BBezierSmooth curve with adjustable handles — the default
LLinearStraight line between keys
HHoldHolds the value until the next key
—CutInstantaneous step; used for sequence track blocks

Tangent modes​

The Keys… menu's Tangent Mode offers Free, Aligned, Vector and Plateau. Right-clicking a key offers Handle Mode, which also includes Auto-clamped. Inside Handle Mode, Incoming side sets the incoming handle separately; it appears only on a key that has a key before it.

Break Tangents decouples handles on a Bezier key; Link Tangents re-couples them.

The Keys… menu​

The footer Keys… button is enabled when keys or segments are selected:

EntryAvailability
Bezier / Hold / CutKeys or segment selected (sets the key type)
Auto BezierAny selected key
Tangent Mode ▸Any selected key
Break Tangents / Link TangentsAny selected key
Keyframe Settings…Only when exactly one key is selected

Change interpolation from the readout​

The interpolation dropdown in the readout offers Bezier, Linear, Hold, Ease In, Ease Out, Ease In+Out and Cut. Select a key or segment, then choose an entry to apply it. For multiple selected keys, the dropdown shows their common type or Mixed when the types differ. The dropdown shows the placeholder text Interpolation when no keys are selected (for example, a segment-only selection) or when every selected key is a Step key. It is disabled when no key or segment is selected.

Edit a key numerically​

  1. Select exactly one key. If several keys are selected, press Alt+A to deselect them, then click the key you want to edit. You do not need to unlink its channel to select it alone.
  2. Open Keys… › Keyframe Settings….
  3. Edit Time (frames) and Value, whose label includes the channel's units. For a continuous channel, you can also edit Incoming slope, Incoming width (frames), Outgoing slope and Outgoing width (frames). Tangent widths must be non-negative. Tangent fields are disabled for a discrete choice channel.
  4. Click OK to apply the change. Cancel leaves the key unchanged; an accepted edit can be undone. After OK, keys on linked axes at the same frame may also become selected. To edit another single key, press Alt+A and click the key again.

Changing Time moves only this channel's key. Linked axes keep their keys at the original frame.

The dialog stays open when an edit is refused:

MessageWhat to do
Enter valid, finite numbers.Enter a valid number in each field; use a decimal point for fractional values.
Another key already occupies that time.Choose an unoccupied time on this channel.
This key would make the curve invalid.Adjust the time or tangent values and try again.
Value must be between … and ….Stay within the minimum and maximum shown in the message.
Enter a whole-number choice value.Use an integer for a discrete choice channel.
Edit this material choice in the material editor.Change the material selection in the material editor instead.
This key no longer exists.Close the dialog and select the current key again.
This channel is linked to another composition. Break its link in the Comps panel before editing.The channel is driven by another composition.
This channel is locked.Unlock the channel before editing.
This property cannot be animated.This channel does not support keyframes.

Channel locks and other editing restrictions also appear in this dialog; resolve the reported restriction before applying an edit.

Ease submenus on keys and segments​

The right-click menus for keys and segments differ:

On a key — two submenus appear, one per side of the key: Ease ‹from› → ‹to› for the incoming segment and Ease ‹from› → ‹to› for the outgoing segment (frame numbers fill in the labels). Each submenu contains None, the curve families, and Ease Settings… for that side.

On a segment — one Easing submenu appears containing None and the curve families. Ease Settings… is a separate top-level entry, not inside the Easing submenu.

EntryEffect
NoneRemoves the ease from this side
Families (e.g. Quad In, Cubic In/Out…)Applies a named curve to the selected side
Ease Settings…Opens the ease settings dialog for the selected side

Copying and pasting keys​

Ctrl+C copies selected keys. If no keys are selected but a segment is selected, it copies the segment's easing shape. Ctrl+V pastes copied keys at the playhead; if an easing shape was copied, it pastes the ease onto the selected segment.

Right-click in the dope sheet also offers Copy keyframes and Paste keyframes at playhead.

Easing​

Quick ease buttons​

Four buttons in the footer strip apply easing presets to the selected keys or segments:

ButtonEffect
LinearRemove easing — straight-line segments
InSlow into the key (or the end of the segment)
OutAccelerate away from the key (or the start of the segment)
In/OutApply Easy Ease to both sides

Shortcuts: Easy Ease = Shift+E or F9; Ease In = Shift+F9; Ease Out = Ctrl+Shift+F9.

The ease picker​

Press E with keys selected to open the ease picker (E always takes the key path; if only a segment is selected, E opens the picker on an empty selection and edits nothing). With exactly one segment selected, you can also click Ease… in the footer, or use the segment's right-click Ease Settings….

Function grid: Choose from eleven curve families:

FunctionCharacter
linearStraight, removes easing
quad / cubic / quart / quintPolynomial curves of increasing steepness
sineSmooth sinusoidal acceleration
expoExponential acceleration
circCircular motion feel
backOvershoots before settling
elasticSpringy rebound
bounceSuccessive bounces with diminishing height

Direction: In / Out / In/Out — which side of the keys the easing applies to.

Parameters (vary by function): Influence, Arrival, Overshoot (back); Period, Decay, Bounces, Restitution, First height (elastic and bounce).

Preview: The picker shows the true curve shape as a solid line against a dashed anchor. A notice line appears if the chosen easing cannot be applied to the selection.

Convert to tangent preset: Replaces the easing curve with equivalent Bezier tangents, which are then editable as standard handles.

Ease Settings​

Ease Settings… opens a dialog equivalent to the picker with the same controls.

Segment selection​

Click between two key diamonds in the dope sheet to select a segment (the span between two keys). With a segment selected:

  • The ease picker and footer buttons apply to that segment's both ends.
  • The fx button in the footer adds a motion effect to that segment.

Ctrl+click a segment of an animated channel's lane in the dope sheet (without dragging) to insert a key there without changing the curve's shape.

Extrapolation​

Right-click the empty lane area before the first key or after the last key to set how the channel behaves outside its key range:

ModeBehaviour
HeldThe first or last key value extends forever (default)
LoopThe keyed range repeats
Ping-pongThe keyed range alternates direction
LinearContinues the slope of the outermost segment

The extrapolation menu is available on the lane itself. An older entry in the channel tree row points you to the lane menu.

Curve view controls​

The … view-options button provides:

ControlEffect
Vertical Zoom (Y %)Scale the value axis
Fit Work AreaZoom to the work-area range
Center PlayheadKeep the playhead centred during playback
Reset ViewReturn to default zoom and position
Auto Fit ValuesContinuously rescale the value axis to show all curves
Region Height ▸64 / 96 / 120 / 180 / 240 px, or Show All Regions
Pin Displayed CurvesKeep the visible set when the channel tree selection changes
Row Density ▸Standard / Compact / Dense
Font Size ▸75–125%
Reset AppearanceReturn row height and font to defaults

The All / Sel / H / V view fit buttons:

ButtonFits
AllAll displayed curves including off-screen keys (Shift+F)
SelSelected keys or segments only (F)
HTime axis only; keeps the value zoom
VValue axis only; keeps the time window

Right-click a selected key in the curve view to access Handle Mode (Auto-clamped / Plateau / Aligned / Vector / Free).

Channel domain pills​

The domain pills narrow the channel tree. Alt-click to isolate one domain; the previous mask is saved and restored by Reset.

PillDomain
PtParts (position, rotation, scale)
CmCameras (orbit, focal length)
LiLights (intensity, colour, position)
MtMaterials (colour, roughness, and other parameters)
EvEnvironment (rotation, brightness)
PnStudio pins
RnRender events
FxEffects
CpComps
LkLooks

A pill is dimmed when its domain is present in the document but has no animated channels. Only domains present in the document are shown.

Row operations​

Use the switch icons at the right of each row (or the ⋯ overflow menu when the row is narrow) to change the row state:

Switch / shortcutBehaviour
Pin — Ctrl+P / Ctrl+Shift+P to clearPinned rows float to the top of the tree and survive filter changes; pins survive a save
HideHides the row from the tree
Mute — MThe channel is stored but not evaluated; muted channels show grey diamonds
Lock — Shift+MThe channel cannot be edited
Solo / Solo only — Alt-clickShows only the soloed rows; two multiplicity modes

The mute gesture is all-or-none across your selection: if any selected channel is un-muted, pressing M mutes all of them. Muting, locking, and pins survive a save.

Right-click a channel row in the channel tree for the keying verbs and additional entries:

OperationBehaviour
Add Keyframe / Add Step Key / Key This Component / Key All ComponentsKey the channel at the playhead
Remove KeyframeRemove the key at the playhead
Jump to Previous Key / Jump to Next KeyMove the playhead to the adjacent key (label includes the target frame); disabled when there is no key in that direction
Clear All Keys on This Channel / These ChannelsRemove all keys from the named channels
Key ContentsKeys all rows nested under this parent row (on container rows)
Keyframe ▸ submenuOn container rows: the same keying verbs applied per sub-channel

Linked channels​

On a part, Position, Rotation and Scale, including their X, Y and Z axes, are linked by default. Adding or removing a key on one linked axis also adds or removes a key at that frame on the part's other linked transform axes. Added sibling keys use their current values. Clear All Keys affects only the channels it names.

Key selection is separate: a plain click does not expand to linked siblings. Column selection and right-clicking a collapsed row's key can include linked keys at the same frame. Linked Curves displays compatible linked channels as one curve; channels with different timing or curve shapes remain separate.

To separate motion on one axis, expand the part and its Position, Rotation or Scale group in the Animation panel's channel tree. Right-click the axis row or group row to open its menu:

OperationEffect
Unlink from groupOn an axis row, separates that axis from its XYZ group
Unlink group from transformOn a transform group or axis row, separates that XYZ group from the part's other transform groups
Separate dimensionsOn a group or axis row, separates the three axes of that group

You can also click the row's chain badge to switch that axis or group between linked and independent motion. On a part row, clicking the badge links everything under the part again when something has been separated; to separate a group or an axis, use that group's or axis's own badge or row menu. The badge reflects the new state after the channel tree refreshes; its tooltip explains which group the row follows. Changing the link state can be undone.

An independent axis offers Link to group in its row menu. An independent transform group offers Link group to transform. To restore all links on the part, right-click its part row and choose Link everything under this row; this is enabled when some links have been separated. Linking controls how subsequent key and ease edits follow related channels; do not assume it makes previously different key values identical.

Folders​

Channel folders let you collapse related rows, mute or lock a group at once, and reorder the group as a unit.

Channel folders group related animation rows. Use the folder controls in the channel tree to organise channels, then reorder rows as needed.

Viewport motion path​

A camera or part with keyed transform shows its trajectory as a path overlay in the viewport.

GestureAction
Ctrl+click on pathInsert a key on the path at that point
Shift+drag knotRetime a path key (change its time without moving it spatially)
Drag knotMove the key position
Ctrl+Shift+click knotDelete a path key
Drag along pathScrub along the path
Display Filters › Path TimingShow read-only timing beads along the motion path

Read speed along a path​

Motion Paths and Path Timing are on by default; if the path is missing, check both under Display Filters for this viewport. Path Timing is greyed when Motion Paths is off. Both settings apply to the current viewport only. With a path containing at least two knots, timing beads show distance travelled per frame: wide gaps indicate faster motion, closely spaced beads indicate slower motion. They are a readout, not draggable timing controls. Edit the animation keys or curves to change the motion. Hiding Motion Paths also hides Path Timing.

Compare poses with onion skin​

Select an animated part, then right-click in the viewport (or open Render ▸ Display Filters) and choose Display Filters ▸ Onion Skin to turn ghosts on for that viewport. The Onion Skin ▸ submenu below it holds the settings and applies to every viewport. The overlay filter popup has only the on/off switch.

SettingChoices and use
ModeBefore, Before & After, After, or Keys. Choose the direction to inspect, or inspect keyed poses.
Frames Before0, 1, 2, 3 or 5 ghosts before the current frame. Disabled in After mode.
Frames After0, 1, 2, 3 or 5 ghosts after the current frame. Disabled in Before mode.
Step1, 2, 4, 5 or 10 frames between sampled poses. Disabled in Keys mode, which uses keyed poses.
ColoursChoose a cyan/salmon or red/green before/after colour pairing.
Before Colour… / After Colour…Choose your own colour for each side of the current frame. Cancel leaves the colour unchanged.

In Keys mode, Frames Before and Frames After count keys instead of frames. Ghosts are taken from the part's position keys, so animation with only rotation keys shows no key ghosts. Ghosts outside the work area are not drawn.

Use fewer ghosts or a larger step to inspect a fast move without crowding the viewport. Onion Skin has its own visibility toggle, so it can remain visible when Motion Paths is hidden.