Fractal Noise

Fractal Noise is a customizable way of creating visual noise. This node is often the starting point for creating randomly evolving effects. The explanation of this node is going to be rather long and slightly complex. But the nice thing is that you can always just mess with the parameter until you get a pretty image. But knowing how it works will help you to work more efficiently and focused.

Fractal noise generates a noise pattern that can resemble things like clouds, water or a topographic map of a mountain range. This stuff is often used in video games and movies to generate convincing height maps for mountains.

The Setup

Each pixel gets assigned a value between -1 and 1. How the values are distributed depends on the algorithm that you can set in the inspector. Each algorithm has a distinct visual style to it. The values of the algorithm are modulated by the modifier. 

Each value simply gets do-over by this modifier. You might spot the absolute modifier here too. If you’ve read our rounding article you know that this will turn every negative value positive. Meaning that our -1 to 1 range for the pixels has turned into a 0 to 1 range. This lack of negative values creates a much brighter image. The Sin modifier applies a sine calculation to all the values resulting in squiggly lines.

Octaves

For now we skip the channels and gain parameters and go straight to octaves. The easiest way to think of octaves are as layers in Resolume or Photoshop. Remember that we talked about each pixel getting a value? The octave parameter determines how many pixel values are layed on top of each other and how much they affect their neighbours. The best way to see this is to lower the density parameter to somewhere between 0 and 2 and play with the octave parameter.  You can see more detail appearing as you crank up the octaves.

Modulation

We have our octaves stacking noise on top of each other. Now it is time to make adjustments to the noise by using Gain, Amplitude, Frequency and Density.

The Gain parameter is simply the multiplier for each value. Cranking up the gain makes the output brighter. It is ALMOST as simple as that.

The Amplitude adjusts how much gain is applied per octave. Increasing the amplitude creates a more crisp image. As the amplitude affects the octaves, when the octaves are set to 1 the amplitude won’t affect anything.

The Frequency adjusts noise frequency per octave. Increasing the frequency generally creates a more noisy image. More spickles, freckles, spots, well… more noise!

Theoretically the Density adjusts the overall frequency of the Fractal Noise. Practically speaking it determines how far you “zoom out”. To prove this, simply increase the density to 200 and you’ll end up with something that resembles static.

Pro tip: You can get some serious microscopic feels by keeping the density really low.


Movement & Channels

While some funky noise is always nice. We eventually want to get some movement going. This is where the offset comes into play.

Technically the offset is the seed used to generate the noise. Practically speaking the first two values will scroll you through the X and Y  axis. The third value scrolls through the Z axis. But since we are working in 2D this value can be seen as modulation or time. This is where the magic happens and your noise comes to life. 

Pro tip: The magic is in the little numbers. When modulating Z, try using very slow oscillators for that silky smooth movement.

Finally we can wrap this up with channels. Remember that we made noise, modulated it and layered it on top of each other. We did that for just one channel. Increasing the channels will do the entire process again for other color channels. By doing this we get layers of Fractal noise on top of each other for more complex images.

Keep in mind that increasing the channels doubles or triples the computational power required to generate the fractal noise. 3 channels times 6 octaves is 18 octaves computed each frame. This can be taxing on some older machines.




Related Articles