Making After Effects' Fractal noise effect in Blender

Fractal noise is a well-known effect in After Effects. Probably one of the most used too, it’s ver­sa­tile enough to cre­ate all kinds of effects. Users com­ing to Blender from an After Effects back­ground might be won­der­ing if there’s a sim­i­lar effect or at least some way to ani­mate noise. Let’s see how we can repli­cate it in Blender.

Fractal noise in After Effects

Let’s look at what Fractal Noise real­ly is first. The idea behind frac­tal noise is to com­bine sev­er­al “lay­ers” of noise with increas­ing scales. Usually decreas­ing inten­si­ty as well. If you look around for frac­tal noise algo­rithms you will find these lay­ers being called Octaves, the scale called Frequency, and inten­si­ty as Gain. This increas­ing of the scale makes the noise small­er and small­er, which is why we call it “Fractal”, the noise will be the same just smaller.

Fractal noise is used in many places even out­side the field of com­put­er graph­ics, as part of DAWs or ana­log syn­the­siz­er to gen­er­ate sounds or con­trol oth­er effects for instance. 

Making the fractal noise effect in Blender

Making frac­tal noise in Blender is easy. 

  1. Add sev­er­al noise nodes with dif­fer­ent scales
  2. Combine them with a math node set to multiply

You mix as many lay­ers of noise as you want. More lay­ers of noise will add more detail, but will affect Blender’s per­for­mance. With Eevee you might also hit the tex­tures limit. 

Don’t for­get to con­nect all the nois­es to a map­ping node

You can also mix the nodes with a RGB Mix. This let’s you con­trol the fac­tor for each lay­er, which is anal­o­gous to the Gain (or inten­si­ty) para­me­ter in frac­tal noise algo­rithms. This is use­ful because some­times the small­er noise lay­ers are too over­whelm­ing, spe­cial­ly if you have too many lay­ers or a very small scale. Blender’s noise also has one cool extra set­ting: dis­tor­tion. Try play­ing with it to make the noise more flu­id or fiery. I also rec­om­mend adding a col­or­ramp to con­trol the contrast.

Make it move

I changed the dis­tor­tion set­tings and added a col­or­ramp to give this one a fiery look

There are two ways to ani­mate noise, we can change the seed or the coor­di­nates. At the moment Blender does­n’t give us access to the noise’s seed. No prob­lem, though. Changing the seed would make the noise vary com­plete­ly every frame with­out any con­sis­ten­cy over time, so let’s look at door num­ber 2.

What we want is to ani­mate the coor­di­nates. To be more spe­cif­ic, we want to move through the noise. Note that we don’t want to shuf­fle the noise around, but have it stay in the same place and move as if fly­ing through it. All we need to achieve this is an extra dimen­sion. For instance, if we are ani­mat­ing the noise on a plane flat on the ground our tex­ture coor­di­nates would be X and Y, so we need to move on Z. Likewise if we have a 3D object we’ll need a 4D texture.

Here’s a more graph­i­cal description

There weren’t any options for 4D noise out­side of OSL until the noise node got it in 2.81. When you select the 4D option you get an extra para­me­ter called W, the fourth coor­di­nate. Unfortunately 4D noise is heav­ier on resources than good ol’ 3D. Depending on your hard­ware you might not be able to mix more than a cou­ple of layers.

For most uses of frac­tal noise (VSE/Compositor/VFX) hav­ing it on a plane is enough. That means we can take advan­tage of using only 2 dimen­sions and use the third to move the noise. We can ani­mate the noise with keyframes or using a sim­ple expres­sion like #frame / 1000.

Fractalize anything!

Traditional frac­tal noise uses Perlin (the noise node) but there are oth­er tex­ture nodes we can try. 

Here are some exam­ples of oth­er frac­tal textures:

Have you made some­thing cool with frac­tal noise? Let me know in the comments!

All the posts you can read
TutorialsBlender, Cycles, Eevee, fractal, Nodes10.04.2020