Converting to Time dimension

I tried to connect an exported integer to a time offset valuenode. The error message I get:

Connect ‘Layer Parameter (Shapes): Time Offset’ to ‘xi’: Connect Layer Parameter: Bad Connection

I tried exporting and connections with other type of valuenodes and it usually worked.

That’s correct. Time isn’t compatible with integer because time is Real type (float).

Hello zslevi , welcome in here …

There is a good pointer about that … , i you found something missing there, do not hesitate to upgrade the doc’


Thanks. I assumed it would be integer, because frames cannot be subdivided.

in synfig world, time is real type, this is one of unique features of synfig.

I was thinking about how to combine frame-by-frame animation with tweening and my idea was to have a template group with subgroups (let’s say 5 of them) which have their opacity turned on only for one frame. I copy-paste this template to be as long in time as needed. Of course I have to set up the delay for the roots of the templates accordingly (so that exactly one of them is visible at a time), but at least I don’t have to set them up for every frame. In the end I just draw into the subgroups with the built-in Synfig tools.

Similar technique could be used for facial animation, but in this case I would have to ffwd and rewind time to seek in the “library” of images. The problem is that time flows by itself as well so I have to change the delay even if I want to keep the same “library image” shown.

Can anyone give a simpler solution to these two tasks?

edit: corrected half sentences

I will upload an example soon.

Excuse me but I don’t fully understand the technique. I’m lost here:


I made an example file. The process was quite tedious*, so it’s very short. I only used the template twice and they have 3 subgroups. … hoXzA/edit

*especially that even when I select an empty group, newly created objects won’t be put into that group.

My conclusion is that this isn’t a viable method in Synfig, because the time delay applied on the templates will mess up the onion skin, so you’ll have no guideline while fighting with the groupings and layer order makes it more complicated than neccesary.

One way is to convert the Amount parameter to Switch, then animating the boolean “Switch” value inside of it.
switch.sifz (2.14 KB)

To add a new frame to the sequence:

  • Select the pair of layers for a frame (ie. “Frame 3 Advanced Outline” and “Frame 3 Region”)
  • Duplicate layers
  • Set interpolation to “Constant” and activate animate mode
  • Edit the “Amount” > “Switch” value in animate mode to control when layer is switched on/off
  • Modify the new layer’s shape in normal mode

In order to prepare the first pair of layers like the above:

  • Create some shape(s)
  • Convert the “Amount” param of one layer to “Switch” node type
  • Expand the “Amount” param and “Disconnect” the “Link Off” subparam (use right click menu)
  • Edit value of “Link Off” subparam to 0 (left click value and type number)
  • Export the “Amount” param (using right click menu, give it some name)
  • Go to Library tab (called Child tab in older versions) and click on the value you just exported
  • Go to each layer you want to include on the frame and “Connect” the amount param (use right click menu)
  • Go to Library tab and “Unexport” the value you exported (use right click menu)
  • You’re good to go. Only need to do this once. When you duplicate the layers for a frame, the “Amount” param is duplicated automatically