100 % Procedurally generated clouds and sky using Natron (project inside)


Hey Natron lovers (but not only) !

When I was a young After Effects user (almost 20 years ago on version 2), I made a lot of experiments to recreate moving clouds and in a more general way, atmospheric effects, using only proceduraly generated textures. During these years, I developped and optimzed these tricks to quickly simluate smoke, clouds, explosions, shockwaves, and more. I also merged these methods with other tricks to simulate light rays or sparkles, without waiting hours for rendering.

Let's move to Natron

Today, I tried to mimic the same kind of effects using Natron 2. So, i'm not going to explain the process in depth, but just say that it's based on fractal noises, named SeNoise in Natron. There is a lot of different fractal noises. The one used here is name "Fractal Brownian Motion" (aka FBM). It can be used to recreate rock textures in a 3D software, displace terrain, scatter objets on it, but it can also be used to simulate atmospheric effects, in 2D or 3D.

3D texture and "cut plane"

This effect is based on a first FBM, animated using different parameters, such as position, rotation, skew, and the moving of his cut plane, named "Z0" in Natron.

I use the name "cut plane" because an FBM is a 3D texture. It can exists not only on a 2D plane, but also in 3D space. Let's compare it to a pretty dense soap foam (like the one you can see on saturday night when you move your body in clubs). You can see this foam as a volume, but there's a bunch of bubbles inside this volume. If you take a sword and cut the foam in two, you can describe a 2D plane at the surface. The position of each bubbles, or holes on this plane depend of the position / height of the sword just before you cut the foam. And that's exactly the goal of this Z0 parameter. It's define the height of the sword.

If you animate this value, you can move the cut plane in the volume, up or down. For the After Effects users, this parameter is named Evolution in the Fractal Noise effect, but it works exactly the same way.

Variations with only one FBM

To create a visualy complex animation, you can add multiple animated FBM and make one fractal appear according the lightness of another, then make the result appear according the lightness of another fractal again, etc, etc ... by simply multiply two FBM together for each step. But if you wan't to keep the same global motion for each fractal of the clouds or smoke, you can also duplicate the initial FBM and add some transformations on it, them multiply the duplicated fractal by the initial one, then repeat the process one more time, and one more time, etc ...

By this way, you only have to change only one or two parameters to completly change the look of the simulated sky or smoke. Here is a video who demonstrate the change of size parameter only :

Let's play with the project

To demonstrate this method, I provide a complete Natron 2 project for free, distributed under the Creative Common BY-NC licence. Feel free to play with it !


Because the GodRays effect is a bit long to render, I turned on the Proxy mode and set the subsampling value to 4. But, if you remove or bypass this branch, the rendering is almost realtime. Have fun !