Questions concerning keyframes

Hey there,

I know this is an old thread, but I am curious if you could help me understand these concepts.
I think I get two of them, but the ‘linkable’ one is confusing me.

If you can, and would like to, perhaps could you give me examples of each type’s different uses? This would be helpful when actually using each different type.

Anyway, I am looking forward to understanding this software a bit more. I am trying to learn how to use separate key-frames for different groups, and have actually been able to do it, thanks to another post of Genete’s, however, I do not understand why it works… Disabling keyframes-What does that do? The animation still plays out regardless. Also, whenever you make a new keyframe, to what objects does it apply? The whole canvas? Then why when you just disable keyframes themselves does it no longer apply to the whole canvas?

As you can see, I am clearly missing something as to the methodology used in Synfig’s animation. Clarification would be most grateful. :slight_smile:

Thanks for reading,


Hi CAA14,

Old threads are like wine, gets better along the time :wink:

Linkable value nodes are value nodes that depends on others by a math formula (or some times on a logical condition).

Say A=R*cos(alpha)

A : Linkable Value Node (units:Real)
R : Is a sub-parameter and is a Value Node (any value node type user want ()) (units:Real)
alpha: Is a sub-parameter and is a Value Node (any value node type user want(

(*) A Value Node can be a particular Linkable Value Node if its units allow it. For example, A is a “Cosine” type Linkable Value Node because it A has Real units. If a were an Angle it cannot be converted into a Cosine type Linkable Value Node. See Convert wiki page for which types can be used on each unit.

I will do. I would do a post for each type on this thread to not bloat this post.

Keyframes by itself doesn’t add anything to the animation. Everything on the animation is controlled by Waypoints (well, except a few of Linkable value nodes that could produce animation although all its sub-parameters are Constant) Waypoint are the essence of the Animated Value Node. If a Value Node has Waypoints it is animated. The Animated Value node calculates the result value based on the Waypoints’s value, the current time value and the interpolation type of the surrounding waypoints of the current time. So, what are keyframes? Keyframes are just marks on the timeline where the user (maybe) wants to keep the current value of all the parameters of all the layers of the composition (the whole canvas) if the addition of waypoints outside of the keyframe tries to modify it.

For example: Say you have a parameter A that is currently animated with the following values:

Time: t= 1s ;Waypoint: value: 1.0 interpolation: Linear
Time: t= 9s; Waypoint: value: 5.0 interpolation: Linear

Then you add a Keyframe at time t=5s. Then, in animation mode, with lock keyframe past enabled, go to time t=7s and edit the parameter A to give a different value. You’ll notice that it Synfig Studio would add a Waypoint on the keyframe place to that parameter A, to keep the value of the parameter at time=5s (where the keyframe is) before you edit it. The Waypoint would be:

Time t=5s; Waypoint: value 3.0 interpolation: depends on default interpolation widget

Now repeat the edition of the parameter A, without adding previously the Keyframe. You’ll see that the value of A at time=5s depends on the value that you edited at time t= 7s and maybe the value of A at that time changes.

The animation still plays out regardless. Also, whenever you make a new keyframe, to what objects does it apply? The whole canvas? Then why when you just disable keyframes themselves does it no longer apply to the whole canvas?
But, what do disable keyframes do? Disable a keyframe just makes it to not work (keyframe doesn’t exists). So why don’t just remove the keyframe instead and if I need it create it back again? Because remove the keyframe would remove all the waypoints too. Also it is easier to keep the keyframe’s place with its name etc.

Disabling keyframe is a feature newer than the mentioned thread, so that’s why I didn’t mentioned it.

Exactly, Waypoints still been there.


That’s how it works :slight_smile:


Value Node types uses:

Constant: Just when you want to create artwork stationary.
Animated: When you want that the parameters that define the artwork changes along the time. That is, animation.
Linkable: When you want to achieve one driven particular movement based on the movement of other objects or maybe just create a movement difficult to achieve (tedious) using just Animated Value Node. For example, say you want to create the animation of a pair of eyes looking a surrounding flying mosquito. Mosquito animation (flying) in this case is the center of the animation, because the story is that the mosquito is trying to cheat the victim. So you could spend a lot of time (reworking) the mosquito flying. Doing that with the pair of eyes that looks the mosquito with anxiety could be tedious. Then you turn the eyes, position into a linkable value node type so it always points to the mosquito position (depends on mosquito position).

Other case could be this: you want to recreate the movement of a electron around the nucleus but want to achieve a particular ellipse. That would be very difficult to do with Waypoints but it is a game of children with linkable value nodes.

Above are the three types of value nodes.

Exported Value Node: You label a Value Node when export it. Then it is canvas scope visible. For example: Say you have a Linkable value node that is A=Rcos(alpha). If you want to animate alpha several times you’ll need to select the layer that has the “A” parameter, expand it, and edit alpha. But if you export it you’ll find alpha listed in the Library Panel and could edit and animate it easier. Other use of export a parameter is to Connect a parameter to it later. Specially this is important for the subparameters of the linkable value nodes. If you want that other Linkable value node like B=Ssin(beta) shares its same angle (alpha=beta) you have to export one of them and then link the other to it.

Linked Value Node: any Constant, Animated or Linkable Value node can be linked together. Constant with Constant, Animated with Animated, Linkable with Linkable (and each one with the same units - Real with real etc.) You link two value nodes when you want them to have the same value. Edit a linked value node implies to affect to all the value nodes that are linked to it. A Linked value node is the same than a exported value node and then the others connected to the exported. The only particularity is that the exported action is automatic, the label is autogenerated and hidden to the user. It is useful when you want to construct your artwork and want that some parts of the artwork are glued together. See Sewing Splines

Exported or linked can be any of the constant, animated or linkable.

Maybe we should rename “Linkable” to “Composited” or something more meaningful.

Here is a file with all types in action:
Linkable.sifz (3.34 KB)

WOW, Yet another awesome post by Genete

I find synfigs concept of keyframes totally misleading. they are points in a timeline you can use to store all the values and restore them by copying keyframes. Could not the same effect be doen by setting transform layers back to 0?
In practise I refer to waypoints as keyframes and i think of them as such they are editable, they allow you to set the pose of a character. they define the start and end of a curve
(crap ascii art alert)

heres an example of keyframes from someone elses site

this example set the keys for a bouncing ball. A lot of animators call them the extremes the ball goes no higher at the top of its bounce and no lower through the floor.

maybe you want the ball to be a normal shape before it hits the ground thes are also keys but to differentiate a lot of peopl call them Breakdowns

here is someone elses timing chart for a short piece of animation. Notice the Thick lines of the Extremes and breakdowns (in normal 2d animation - the keyframes) and the thinner lines- the inbetweens which for us are generated by synfig:

Most 2d animators understand Keyframes and how they relate to making 2d. but here in synfig land they keyframes are now called waypoints and keyframes now mean something else

Initally I was intrigued by them but in practice I am not a fan - you can’t really think of them as a set of poses for a character unless you set key poses for the character, then merge into another file, otherwise the character will snap to the same location the pose was stored in the keyframe. looking in the timeline, its not often easy to differentiate between keyframes and waypoint.
Or am i missing something?

As I have said several times, Keyframes in Synfig are just marks in the timeline that helps the author to keep the shape, pose or whatever you consider, fixed in a certain time. Of course, to maintain the shape or pose fixed it adds waypoints where needed so that’s why the confusion.

Traditional keyframe concept for traditional animation is always a concept for the whole canvas because you draw enterely the canvas each on each frame. In vector animation the waypoint (wrongly called Keyframe by other 2D vector software i.e. Anime Studio) are just the fixed value in a certain frame for a vector value only, not for all the canvas. So I think that the keyframe concept of Synfig Studio is still correct.


cany you give an example where keyframes are useful? because if i have a circle on the canvas and i dont moves its origin or any of its verts it wont move right? ao are those thing fixed in time?

or do we consider keyframe as a bind pose for the character? in which case. if you have a character and you move to frame 10 and set a waypoint, another waypoint should be made at frame 0 containing the initial roatation state for example of the arm (try this your self in any 3d animation aplication like 3ds max or maya - possibly blender too. Go to animate mode, and at a time not at the start of the animation, transform the object- it . 2 waypoints will appear)

If keyframes could be consdiered a bind pose fo the character, could we exclude nodes from a keyframe? that way we could set a bunch of poses on the character - arms crossed, scratching head etc and drop them on the character wherever it is on the canvas without it popping back to the center of the canvas or its position wherer the pose was saved. that could be a useful application of keyframes.

Exactly, that’s how it works in Synfig. And not the frame 0 but on the place where the next/previous keyframes are set and depending on the lock keyframe status and the keyframe enable/disable status.

Group the character before copy it and translate it to the right place once you drop the pose on the timeline.