Creating next keyframe from previous keyframe - SOLVED

I have a character walking from off-screen to screen centre. I am rotoscoping some video that I shot earlier. I drew the character from about halfway through the video shot as all limbs were visible. I then dragged the character off screen and switched to animate mode. At each key frame I drag it in to position and then move the ducks to shape the pose in that frame.

It would same me bundles of time if I could start each new keyframe from the positions reached in the previous keyframe, rather than have to drag the character on and start from scratch each time. Does anyone know if this possible? I have several more characters to animate in this clip…

Many thanks

Weird. Start each keyframe from the position reached in the previous keyframe is the natural workflow in Synfig Studio. I don’t understand what’s the issue you’re facing up.

Set the incoming interpolation of the waypoints halfway to constant.

@genete: Yes, I’m pretty sure this was how it worked in earlier versions of this animation and others I have done. I must have changed something…

@rylleman: Thanks for your reply, I’m not quite sure I understand it properly though. Do you mean edit every waypoint to Constant (Red) In (there are lots of them!)? I’m confused by your “halfway” comment. Sorry for being so dense.


I think I misunderstood how you have created your scene.
Can you perhaps share youre scene so we can see what might be wrong?

OK, this is an animation that I started a long time ago and I’m trying to add some more action and therefore interest. The new part (the bit that I am having trouble with) is the character that starts running in from the left at about 16s2f.

Many many thanks for any help you can offer with this.
AxtRoto2013 2p.sifz (1.06 MB)

Oh I see what’s happening. You are using a “Keyframe” at each step of the animation, right?

Keyframes on Synfig work a bit differently. When a keyframe is placed at some place in time Synfig interprets this as “preserve the state of objects for that keyframe”. Thinking about it “keyframe” is a bit of a misnomer, a more descriptive name would be “anchor” because it fixates the animation state at the specified point in time.

You’ve probably added the keyframes at the begining, so each keyframe is trying to preserve the initial state of your character (ie. off screen position).

Actually, you probably want to play with Lock Keyframes setting. Specifically unlocking future keyframes. That would disable the “anchor” behavior of keyframes in the future of the animation allowing you to animate “as you go”.

Oh - I assumed that whenever I wanted to adjust a pose I had to set a keyframe and Synfig would tween any where there was no keyframe. It sounds like you are suggesting that the keyframes are unnecessary (probably “mostly unnecessary”) I only need a keyfram when I want to do something dramatic - is that right? Obviously too late for this clip and I cannot delete my forward keyframes as other animations rely on the keys I have already created. Looks like I need to do a little more investigation before piling into the next bit of work!

Keyframes are still useful to mark positions in time (so you can use “seek to next/previous keyframe” buttons). But the “anchoring” behavior from keyframes can be detrimental at times, luckily it can be turned off via Lock Keyframes buttons.

Oops, this is all looking a bit terminal…

Clearly I made the incorrect assumption at the beginning of this animation that I needed a keyframe everywhere anything changed. Wrong. A simple waypoint looks like it will do all I need.

So, my question now becomes: Since I don’t think I can delete all my keyframes without damaging the animation, can I copy all my layers into a new .sifz file that has no (or just one starting) keyframe?

Opening the file with a text editor (save it with SIF filename extension first) and deleting the keyframes manually would be one way.

I did this with the file you posted above:
AxtRoto2013 (1.06 MB)

Same file but with all keyframes removed (waypoints untouched).

Wow - thank you. I will get into this again tomorrow. I had started using the documented “bug” of changing the frame time then deleting the keyframe and had got through the first 20 frames. If this renders OK then thank you it will have saved me a couple of hours of properly boring editing. I’ll post tomorrow.

Thanks again.

Hi Yoyobuae

I am really grateful for all your time on this. I’ve just had a chance to load your modified project, but at the end of the middle sequence the character is still off screen on the left. At 17s10f (which is the last frame I worked on) the character is on screen but at 17s11f, when I would expect the drawn character to be in the same place (while the video character has moved on a frame) it has gone back to its parking spot.

I’ve tried changing the in/out/node type on the final waypoint but that changes nothing. I’m still not understanding something fundamental here.

What happens is that while keyframes were removed, there are still some waypoints left from when you edited the animation with the keyframes still on it.

You can see those waypoints in the Parameters Panel] if you select the “Pedro Running” group and go to 17s 11f point in time:

All those waypoints are holding the character in the offscreen state. Thats how Synfigstudio does to “anchor” the animation when theres a keyframe, it automatically creates waypoints at the keyframe in order to simulate the anchoring behavior.

Anyway, deleting those waypoints solve the issue. This can be done with the right-click menu as shown above (or with Alt + Left Click). By removing the waypoints on the the “Canvas” parameter all of the waypoints inside the group are removed recursively. You also need to remove the waypoint of the “Origin” parameter. Once you do this the character should snap back into the center of the scene.

Yoyobuae you are a star.

I really appreciate all your time and your generosity with your knowledge.

That will save me so much time and will greatly help any new animations I start.

Thank you.