Skip to main content
Inspiring
April 22, 2018
Answered

Fractal Noise's Offset Turbulence has maximum value. How can i keep going?

  • April 22, 2018
  • 6 replies
  • 16173 views

Hey everybody.

Still learning expressions, but every time i think i'm getting the hang of them, something always breaks.

I'm trying to make fire with fractal noise among other things, and needed it to loop, or at least run about 5 – 10 minutes.

I put an expression on offset turbulence: so the flames would keep rising upward throughout my video, [0, time*-1000] and that works really well for 30 seconds, but then it stops when Offset Turbulence reaches 0.0, -33867.2

Truly frustrating. I was excited to use an expression thinking that without keyframes, it could run forever.

30 seconds is a poor specimen for forever.

What's the strategy to knowing when this kind of limitation will happen to you, and how can i work around it?

I was hoping i didn't have to fade in and out of a 30 second loop. Is there any way to keep Fractal Noise sliding upward forever?

Any and all help would be greatly appreciated.

Thank you for your time.

Correct answer NikVo

6 replies

Inspiring
March 14, 2021

Going back through my old posts. A little older, a little wiser.
Now, reading through these responses again, they still don't make any sense.
A graphical representation:

This combination doesn't really make for seamless upward movement, does it?

I was asking about how to do an infinite upward movement, and why the expression maxes out at -33867.2, when clearly the offset turbulence value can keep decreasing.

 

I think perhaps once the commenters realized they understood the solution and I didn't, they ignored the question and just began conversing amongst themselves about the old days, and creating tiled, static noise patterns in Photoshop. The term match frame was mentioned repeatedly as though this was the magic solution. However google searches for it were futile.

 

In hindsight, the answer to my original posted question is simply:
No. There is no way to keep Fractal Noise sliding upward forever.

And the workaround was apparently also in my original post.
Fading in and out of a short loop.

 

I hope this thread was helpful to someone. Certainly not me.

Roland Kahlenberg
Brainiac
March 15, 2021

nikv99453903 has the correct answer. It is elegant, quick and easy and when followed correctly, doesn't introduce artefacts.

Very Advanced After Effects Training | Adaptive & Responsive Toolkits | Intelligent Design Assets (IDAs) | MoGraph Design System DEV
Inspiring
March 15, 2021

Quick and easy, yes. It is a well explained solution.
Though, I think the borders created at the mirrored edges are a highly noticible artifact.
Plus, there is a rather ciritical mistake in step 6.

Animate the Offset should instead read: Animate the Center Tile.

New Participant
July 21, 2020

I used a different workaround. You can combine the Fractal Noise Evolution loop with the MotionTile Effect.
The plan is to tile the Fractal Noise by mirroring the edges so you can use the offset of the Motion Tile effect instead of the Fractal. You will get the illusion of an infinitely scrolling texture. This is way more software efficient than raising the value infinitely. It is not generating a perfect result, because you see the edges mirrored, but in your case, you use it for flames anyway, tho it is not too obvious.
Here is what to do:


1. Loop the Fractal Noise evolution (full Evolution)

2. Enable Cycle Evolution

3. LoopOut()

4. Add MotionTile Effect
5. Check Mirror Edges
6. Animate the offset (Because you want the same matching frame, you need to move the offset by 4* your composition size. e.g. Your compsize is 50:50px. Your offset starts at 50:50px -> 50 + 50*4 -> You Offset end is 250px.

7.LoopOut()

NikVoCorrect answer
New Participant
July 21, 2020

angie_taylor
Brainiac
April 23, 2018

I appreciate that you want to loop The offset. But you Cant loop this without also looping evolution. If evolution is not cycling, then you won’t be able to match your frame. No matter what your offset settings are. So the technique I suggested is to 1st of all make sure that your Evolution settings are looping properly (Using the cycle Option). Then deal with the offset. My suggestion, as I said, is to somehow find matching frames, Keyframe those and then loop these using an expression. My suggestion to find  matching frames is to try the extreme values. You may also try other values. I’m going to be on after affects today so I’ll give it a try for you and see if I can’s create a solution. I hope this helps.

angie_taylor
Brainiac
April 23, 2018

By the way, in order to get The offset frames To match. You will also need to deal with the sub settings, these also need to match.

Kyle Hamrick
Community Expert
April 23, 2018

Software has limits. So, now you know the constraints of the effect - find a way around it. Here are a few ideas, in no particular order.

If you haven't already, try starting it at the opposite end of this property's limit, instead of zero; you just doubled what it'll give you.

If you read Angie's post carefully, I believe she's actually suggesting using Evolution as well as the Offset Turbulence (which I would probably suggest as well). It's possible you'll be able to find a match frame that would work well enough.

Fire is flickery by nature - it seems like it would be easy enough to hide a quick fade to another layer of this effect. I'd randomize the time somewhat so it doesn't feel uniform if someone watches for a while.

Make a taller layer to put the effect on, and use a combination of Offset Turb + y position movement to give yourself more leeway. It's likely you could then duplicate this, push it later in time, and use a soft mask edge to simply blend the next instance in pretty seamlessly. If you find an amount of time that works well, you could then drop this comp into another and use time remapping to loop it infinitely.

Community Expert
April 22, 2018

As you've noticed, you can only animate a parameter up to its maximum value.  You'll want to animate to a match frame in order to create a loop cycle.

If you can get the look you want by animating the Evolution parameter, it's very easy to create the loop cycle (as Angie suggested) as you can enable Cycle Evolution under Evolution Options. With this enabled, you return to a visual match every 360 degrees.  Two keyframe and a loopOut() expression allow animations made this way to run forever (or 5 to 10 minutes easy).

With Cycle Evolution enabled, you could use a time expression instead of two keyframes and a loopOut(); however, the max value for Evolution is something like 2,147,483,648.  It's also more challenging to sync other layers if going the expression only route.

Inspiring
April 22, 2018

I truly appreciate your responses theangietaylor, and Warren Heaton but i never asked about Evolution.

My question was about Offset Turbulence.

I am trying to create an upward motion, not an evolving motion.

I believe i stated this in my original post. Sorry if i was unclear.

Community Expert
April 24, 2018

leather.bird: Is this close to what you mean by "keep Fractal Noise sliding upward forever"?

angie_taylor
Brainiac
April 22, 2018

You e run into the pixel res limitation there. You can get around this by cycling the evolution and making sure the offset value matches up with that. Do you have cycle evolution turned on?

angie_taylor
Brainiac
April 22, 2018

I can’t test it as not in front of AE right now but pretty sure if you create a key frame at 0 and another at 33867.2 and then apply a cycle loop, it may loop seamlessly?