Keyframing

Pin a parameter's value to a moment in time, move the playhead, change it again — DNA fills in the motion between.

Keyframing is hand-authored animation: you set a value at frame A, a different value at frame B, and the parameter glides smoothly from one to the other as it plays. It works on almost any numeric parameter — a position, a radius, a colour, an opacity.

Setting a keyframe

Hover the parameter you want to animate, move the playhead to the frame you want, and press K. That stamps the current value onto that frame.

Now scrub the playhead somewhere else, change the value, and press K again. You've made a second keyframe, and the parameter now animates between the two. Repeat for as many moments as you like.

By default DNA gives new keyframes smooth, eased motion — the value glides in and out rather than snapping. You can reshape that motion later in the The curve editor.

You don't have to press K twice for every change. Once a parameter has at least one keyframe, simply editing its value at a new frame will usually drop a keyframe there for you. Press K any time you want to lock in the current value explicitly.

Reading the keyframe dots

A small coloured dot next to a parameter tells you its animation state at a glance:

Watch the dot flick from orange to yellow as you scrub: every time it turns yellow, you're standing on a keyframe.

Compound values animate per axis. A position or colour keeps a separate curve for each component (X / Y / Z, or R / G / B / A), so you can give one axis different timing from another. Text and other non-numeric values can't be interpolated — they hold a single value.

Clearing keyframes

There are two different "undos" here, and the difference matters.

Alt-Shift-K removes the whole animation, not just the keyframe under the playhead. If you only meant to delete one point, use plain Alt-K, or select the dot in the The timeline and delete it there.

Keyframes alongside other inputs

A parameter can get its value from several places. If you wire a connection into a parameter, the connection wins and your keyframes are ignored until you unplug it. An expression (a typed formula) also overrides keyframes. So if a keyframed parameter seems frozen, check whether something is plugged into it first — see Connections vs expressions.

See also