Skip to main content
Seb_Andrews
Participant
February 2, 2021
Question

Time expression stops working

  • February 2, 2021
  • 3 replies
  • 4738 views

Hi everyone!

 

Apologies as I'm quite new to using After Effects, but I'm running into a problem with using the time expression. I'm creating a 'hand drawn' effect using Roughen Edges and an Evolution expression of 'time*1500;' (per a tutorial I'm following), everything was going fine but then I noticed in my compositions, the Evolution will simply stop after a certain amount of time (usually around 22 secs). After searching around, I know this is an issue for some people where AE 'maxes out' effects after a certain amount of time.

 

I'm hoping someone can give me an expression to fix the issue, or let me know how to use looping/cycles to fix it (I've seen tutorials on how to loop rotation, for example, but not for a time-based expression)? Any other advice is greatly appreciated.

 

Thanks in advance everyone!

This topic has been closed for replies.

3 replies

Community Expert
February 3, 2021

The Evolution Options parameter in Fractal Noise has the option to Cycle evolutions over any number of cycles. There is no need at all to ever just run a time * a value expression on this property if you want it to go on for a very long time.

 

Your multiplier is very high. The expression time * 1500 means that the evolution will rotate 1500º in one second. That's one revolution just shy of every 8 frames in a 30 fps comp. 

 

If your evolution speed is critical then you need to do a little math. At 1500º per second, how many seconds does it take to rotate a multiple of 360º so you could get a perfect loop? 360 / 1500 = .24 seconds. Let's set the loop to 10 rotations. Now we have 3600 / 1500 = 2.4 seconds. At 30 fps 2.4 seconds is pretty close to 2:07 frames. If you set one keyframe at 0:00:00:00 at 0º and another keyframe at 0:00:02:07 at 3600º or 10 rotations, then added a simple loopOut() expression you would have. something extremely close to your time * 1500 speed and it would perfectly loop as long as you needed it to loop. If you wanted to speed up or slow down the evolution all you would have to do is drag the second keyframe to the right to slow it down or to the left to speed it up. There would never be a point where the calculations would run out of digits.

 

Seb_Andrews
Participant
February 3, 2021

Thank you SO much. I knew loopOut might be the answer, but the way you explained it here finally made sense to me. With a little bit of tweaking on the numbers for frame rate etc. I think this has worked! 

 

Thanks for taking the time to help me out! 

Mylenium
Legend
February 3, 2021

You can always split/ duplicate the layer and adjust the expression to compensate for the in point. Otherwise simply animating the parameter with keyframes an possibly using a loopOut("ping-pong") expression might also work. If it's realyl that long, nobody will noticve the repetitions and in addition you can of course also always animate the offset in addition to disguise this further by looking at a different area of the turbulence noise field.

 

Mylenium

Jose Panadero
Community Expert
Community Expert
February 2, 2021

As you said, you have reach the limit for this effect parameter. If you are looking a random movement with roughen edges, you can try yo use the random(X) expression, where X sets the range of possible values for your parameter. For example, you can use random(3500) and your evolution parameter will be any valueo between 0 and 3500. 

Seb_Andrews
Participant
February 3, 2021

Thanks for this suggestion. The random expression didn't quite give the effect I wanted, but it could be a workaround in the future. Thankfully, I think I've managed to get the time expression to work through keyframes and loopOut()!