Read Keyframes

Read keyframe data from an upstream connection.

What it does

Read Keyframes taps any connection in the graph and reports the keyframe data animating it. Wired to a whole node's output it reads every keyframe on that node; wired to a specific parameter, only that value; wired to a single component such as the X of a position, only that component.

The connected value passes through unchanged. Alongside it come read-only outputs: how many keyframes exist, whether the source is animated, whether the current frame lands exactly on a keyframe, the first and last keyframe frames, and full lists of every keyframe frame and value.

When to use it

ParameterTypeDefault
sourceAny

Gotchas

With no keyframes on the source, first_frame and last_frame come back as -1 rather than 0. Check is_animated first to tell "no keyframes" apart from "a keyframe at frame 0".

Connect Source to the exact port you care about. Connecting to a whole node reads every keyframe across all of its parameters; connecting to one parameter or one component narrows the read to that value.

keyframe_frames and keyframe_values are lists in matching order. Pair them up, in an Expression for instance, for per-keyframe frame and value pairs.

Worked example

  1. Add Read Keyframes.

  2. Wire the parameter you want to inspect, for example a Circle's Position, into Source.

  3. Check is_animated to confirm it is keyframed, then read first_frame and last_frame for its animated range.

  4. Use has_keyframe to drive logic that should only fire on exact keyframe frames, or read keyframe_frames / keyframe_values to work with the full curve elsewhere in the graph.

See also

Bake Keyframes · Recorder · Pose · Numbers, signals & audio