Help. Linear Converter + Time Looping inside scene

Hello

I can’t get rid of trouble with Linear converter and Time Loop inside scene.

I set Layer Group Amount at 1, at keyframe, where I wanna see appearing scene, then at the next
keyframe I set beginning of Linear Converter, so from that point I see smooth looping background and Now
I m trying to set the duration for it by using Time Looping layer, when i place Time Loop layer my scene disappears. Why ? What am I doing wrong ?

Where did you place “Time Loop” layer? You have to place it inside the group of which you set the “Amount” parameter to 1. Here’s a very quick example: LoopingBkg.sif (14.7 KB)
Does it clear things up?

It is in the group where it should affect.
When I mark the Time Loop Layer as invisible, It’s quite according to my settings (I won’t be surprised if most of them are wrong :slight_smile: ) - all part moves as I set thanks to linear converter, only by unknown reason it changes the speed.

When I put inside the group the time loop layer and it is visible all it, it becomes invisible.
I am trying to add pause with the time loop.

Background Demo.sifz (2.2 KB)

ANy suggestion what am I doing wrong ?

Once again, the “Time Loop” layer should be inside the group :slight_smile: . In your case the group is called “Graves”.
If you put the “Time Loop” layer outside that group, then it will loop your scene starting from 0s when group was invisible (Amount=0).

So, you put “Time Loop” layer inside, linear converter apply to separate “Transform” layer instead of a group and all should work as expected (see my example above).

AAAA and i was thinking it was enough to keep the Time Loop above that group :slightly_smiling_face:
Super now I see :slight_smile: now it makes sense
But now I have one more question, how to set the time ?

at 72 F it appears, There i change the amount,
let’s say i would like to start moviig from 120 F, so until then it stays steady :).
And I wish to stop, let’s say at 288 F.

Is it also fine if i simply use Transform Layer X-Axis Linear converter ?

Background Demo2.sifz (2.2 KB)

Super Thank You for the help

Yes. If you don’t want to scroll background vertically, then yeah, you don’t need Y axis. But you do need to place “Translate” layer below “Time Loop”.

Ohh, it’s tricky because “Local Time” parameter of time loop is broken for quite some time :frowning:
So as far as I know it’s impossible to implement it in a user-friendly way.
Although we can try to awkwardly workaround it:

  1. Allow animation of “Duration” parameter of time loop layer (right click on it -> Allow Animation)
  2. Set default interpolation to constant.
  3. In “Time Loop”, set “Duration” to 0 and set “Only For Positive Duration”.
  4. In group’s parameters set “Speed” to 0 - it’ll freeze any animation.
  5. At 120f animate Group’s “Speed” to 1 and Time Loop’s “Duration” to needed value.
  6. At 288f animate “Duration” to 0 and “Speed” to 0.
  7. Animate Group’s “Time Offset” to a needed value (you’ll need to experiment here) if starting and ending frames doesn’t match.

See modified example: LoopingBkgSE.sif (16.6 KB)
Scene appears at 12f, loop starts at 3s, ends at 9s.

It’s fixed now :slight_smile:

It was merged to 1.3.14 release and master branch as well.

1 Like

I see it’s tricky :slight_smile: and there are missing tips.

I hope finding the right way it will be useful for the future generations.

I m checking Your advice let’s see how it works

In between I was looking for solution too and I noted:

  1. 72 F - here appears the view. Time loop when there is still the Green Man link time 72 F there where it should be steady, duration 0 - duration setting change when there is animation mode then there are 3 waypoints (of course constant). Then 1 th delete other way there is a bug, after the 3th waypoint the loop starts, smooth but it moves rough after a while. If I delete the 3th waypoint then keep Time Loop unmoved.

Maybe someone will improve it

Your example projects miss the linked background file :slight_smile:

It will be linked. :slight_smile:
Just I have to understand how to set looping separate elements. :frowning:

Like here :frowning: it’s almost working. Just again Why is there like that :frowning:

Why are there such 3 jumps/gaps ? At start in the middle and at the end.

Background Demo3.sifz (2.6 KB)

I m following the advice from up and some tips from here How to stop looping? Or Converter?

it’s almost working. Just why is there like that :frowning:

Why are there such 3 jumps/gaps ? At start in the middle and at the end.

Background Demo3.sifz (2.6 KB)

I guess, I hope it’s just little detail

Wow, finally! No more awkward solutions for loops. You, sir, deserve a medal. I hope it’ll will be shipped with the next stable version.

@Eryk
Forget everything I said before and just use current development version from here: https://www.synfig.org/2020/05/07/synfig-studio-1-3-14-released/
To make a loop with fixed “Time Loop” layer:

  1. Remove previous workarounds (animated “Speed” parameter).
  2. In Time Loop, allow animation for “Duration” parameter and set it to 0 (freezes animation).
  3. Uncheck “Only For Positive Duration” and set “Local Time” to a value at which you plan to start a loop (e.g. 3s).
  4. When you need to start a loop, animate “Duration” to a needed value.
  5. Break the loop in a proper way (where loop hits the first frame) by animating “Duration” back to 0 and you’re done.

All interpolation must be constant.

Again, here’s an example for 1.3.14 and future versions: LoopingBkgSE-1.3.14.sif (17.5 KB)

Now it works :slight_smile: Super :slight_smile:

Thank You :))

I yet wonder, if I would like to just pause it on a random keyframe, is there some option ?

I was trying to follow the below steps but they do not seem to
match but maybe there is something similar i can use:

Set the duration to the length of one cycle of your background loop (i.e. when your background needs 72 frames to loop around: duration = 72f)
For the keyframe you want the loop to stop:
    set duration to 0
    set link time to your current time modulus the loop duration (for example, pause at 120f -> 120f mod 72f = 48f -> link time = 48f)
For the frame you want to start it again:
    set duration back to what it was
    set link time back to 0
    add to local time the time you paused (i.e. when you paused for 50 frames, local time = 50)