Reusing tangent positions from a previous keypoint?


I’m working my way through the intermediate tutorials & I just need some help being directed to a technique but am not sure of the terminology to find more about it in the wiki.

I am doing the lipsync tutorial and have generated a text file with a timed phoneme list.

Using this Preston Blair page as reference:

I have been moving the tangents and verticies of a group of outlines and regions that make up a mouth with teeth and a tongue. I am proceeding along animating each phenome of a short sentence and have been happy with the results so far.

However, after a while the words in the sentence return to phonemes which I have already animated in previous keypoints. How can I reuse those phoneme shapes I have formed previously to prevent having to do the same work again on a new keypoint? There must be a way to export and reuse a set of positions of a spline or region in a new keypoint - but I only know how to export a single tangent position so far, not 50 at once…

Thanks for reading. :smiley:

EDIT: sorry, should have put this in another section of the forum…

There are several ways to do that but in particular you want to have tweening between one phoneme and other you can use the keyframes for that.
Keyframes are just marks on the timeline but they have associated operations very useful like:

  • You can move a entire keyframe. This would time shift the ‘pose’ of that frame where you want to place it. Of course if you move the keyframe to a very far place on time the result can be undesired.
  • You can copy (duplicate) an existing keyframe. Then all the waypoints of all the layers in that frame are duplicated too.
  • You can change the in/out interpolation of all the waypoints that lies on a particular keyframe in one single action. That would change the whole in/out interpolation for that frame.

The drawback is that keyframes are canvas dependent. This means that you have keyframes defined for the root canvas of the document. If you want to have keyframes only for a portion of canvas you need to export the canvas and open it in its own window. That would be possible for example for only the mouth and so, you can work with keyframes only with the mouth and it can be part of a greater canvas (i.e. the head). This way you can reuse animations you did previously.

Please ask more if you don’t get it fully :wink:

Another way which might be a bit simpler:

  • Put all layers with the “keypoints” (in Synfig terms they are called waypoints) into a single Group Layer
  • Select the Group Layer
  • In the Parameters Panel scroll down to the Canvas parameter
  • On the Timetrack you’ll see some keypoints for the Canvas parameter. They represent the keypoints of all the layers inside the Group.
  • To reuse a complete phoneme you simply move to the time position where the phoneme needs to be, then right click on the corresponding keypoint on the Canvas parameter, and select “Duplicate”.
  • Now all the layers inside the Group will have keypoints added which mirror the original phoneme (ie. the one you right-clicked).

Here’s a quick test of this technique:
reuse-animation.sifz (11.5 KB)
I only created the first two keypoints manually, then duplicate them several times. Similarly you can also drag the keypoints or remove them on the Canvas parameter in order to manage the animation more quickly. :slight_smile:

The easiest and cleanest way to do this is to get the timeline on the key-frame that you want to change.
Then in the Params panel and in the Vertices list find the tangent that you want to copy. Right click on the waypoint that you wand to copy and choose duplicate.