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
  • 16175 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
Legend
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.

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()

zjdoliver
Participant
April 10, 2021

Hello,

I appreciate your post since I'm new and trying to understand the exact issue as you were over a year ago but I don't understand step 6. I did see in a follow up post you said it should be "Center Tile" but when you say "Animate..." can you screenshot a screen that shows the properties along with the expression? also, is loopOut() part of that animate expression for Center Tile?

Inspiring
April 10, 2021

By "animate" nikv99453903 meant keyframe.
When you place the Motion Tile effect, its Tile Center property defaults to the center of the composition.
nikv99453903's wording on step 6 is a quite clunky, but their advice is essentially to keyframe the Tile Center property first with the default value, and then at 5 * this default value.
Then add a loopOut() expression to this same property.

 

Example: Let's say your composition is 1920 x 1080, and you want your loop to be 2 seconds long.
When you add Motion Tile to your solid, its Tile Center property is: 960.0, 540.0
So at 0 seconds, add a keyframe for Tile Center at 960.0, 540.0.
Then at 2 seconds add another keyframe for Tile Center at 960.0, 2700.0
Then add the expression loopOut(); to the Tile Center property. (This will make it loop those 2 keyframes forever.)

angie_taylor
Legend
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
Legend
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
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
Legend
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
Legend
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?