Time Loop Layer¶
About Time Loop Layers¶
Time Loop layer is used to repeat an animation over and over. It
loops a section of the layers below and within the same canvas over and
See also the Time Loop ValueNode conversion, which can be used to loop the value of a single parameter, rather than an entire layer or group of layers.
Parameters of Time Loop Layers¶
These parameters, to prevent undesired modification, by default are statics.
The parameters of the time loop layers are:
|Only For Positive Duration||bool|
Local Time (time)¶
Start time of loop.
Number of seconds or frames that are looped in the child layer.
Only For Positive Duration (bool)¶
- If checked and
Durationis zero or negative, then the time loop layer is effectively disabled, and acts as if it wasn’t there.
- If not checked and the Duration is zero, the Time Loop layer freezes
the animation of the children layers at the value of
How to use the Time Loop Layer ?¶
Time Loop layer repeatedly loops through the
seconds of its child layers, from
Link Time to
Link Time +
Local Time is used to line up the offset of the time looping.
When the Time Loop layer is asked to set its time to
Local Time, it
sets the time in its child layers to be
Link Time, ie. the start of
- Be Sure you are not in Animation Mode
- In the layer’s parameters of the time loop, you need to remove the
‘green guy’ (), indicating that the
Static, from Duration Parameter. Just right-click on him and set
Allow animation. See Static Parameters for more informations.
- On the timeline navigate to a place where you want to break the animation. And now enter the Animation Mode.
- In the time loop parameters, set ‘Duration’ to
- Now you have three waypoints. One before the current,
we left it as it is. One is current, we convert it to
constant(right-click on it -> Both -> Constant). And one after current, this one have to be removed (right-click on it -> Remove).
- Now test it. Pay attention, that loop will always break at the very first frame of you animation, so you need to break it in the right place.
‘Green guy’ () - Static Parameters - is a guard that says “You shall not pass!” to the animation. So when you attempt to change such parameter in animation mode it just changes the usual way. It’s done to prevent unnecessary parameters to be animated, e.g. Blend Method.
EOT. If you set it to 0f, then the whole
animation will stop, because you try to play it from 0f (
to 0f (
Duration). And EOT means it’ll continue to play your
animation to the end of the time…
Removing waypoint after current one. If you skip this
step, then at the next waypoint
Duration parameter will be restored
to the value before current waypoint. It’s a standard Synfig’s behavior,
but there’s a magical button somewhere that can change it.
Converting current waypoint to the constant. Without it,
will be smoothly interpolated from value you set to the EOT and the
constant type will just set immediately at the waypoint. Interpolation
can be a bit confusing sometimes, so you better read this about
For example, suppose:
- Link Time is 5s
- Duration is 3s
- Local Time’ is 4s
And suppose that the Time Loop layer is applied over an existing
Link Time and
Duration specify that the section
from 5s to 8s in the children layers will be looped. The
specifies that this loop will be at the beginning at 4s. (And so also
therefore at 1s, 7s, 10s, etc).
This is how the mapping actually works:
|real time||child time (symmetrical = true)||child time (symmetrical = false)|
|4||5||5 (local time = 4; link time = 5)|
|7||5||5 (duration = 3, so loop repeats after 3 seconds)|
Specifying a huge number for the Duration parameter effectively turns the Time Loop layer into a Time Shift layer. The Link Time and Local Time parameters controls which time in the children lines up with which time in the Time Loop layer, giving the amount of the timeshift, with both positive and negative differences working as expected.
Download and examine this example file:
It’s a 10 second animation, and shows 2 circles. The top one moves linearly from the left to the right. Its position is marked by static text digits 0 through 10.
The other circle is an identical copy of the first one, with the same waypoints, but it’s inside an Group layer. The parameters are:
- Link Time: 5s
- Duration: 1.5s
- Local Time: 2s
- Symmetrical: true
So as time=2s, the top circle is at position 2 (local time) and the bottom circle is at position 5 (link time):
The loop is 1.5s long, so the bottom circle is also at position 5 every 1.5 seconds before and after this point in time, for example at t=3.5s and at t=8s:
The following two images show the positions at t=0s and t=3s. The loop starts at t=2s, so it’s also at the start at t=0.5s. So at t=0s it’s half a second before finishing the previous loop. And at t=3s the same is true, but 2 loops later on: