Création de nuages animés de manière 100% procédurale avec Natron (projet fourni)

alt

Salut à vous, fans de Natron (mais pas seulement) !

Quand j'étais jeune utilisateur de After Effects (il y a environ 20 ans sur la version 2.0), j'ai fais beaucoup d'expérimentations afin de recréer des nuages animés et plus généralement, des effets atmosphériques, en utilisant uniquement des textures générées de manière procédurale. J'ai alors développé et optimisé ces astuces afin de simuler rapidement de la fumée, des nuages, des explosions, des ondes de choc, et bien plus. J'ai ajouté à ces recherches d'autres astuces pour simuler des rayons lumineux ou des étincelles, sans pour autant attendre le rendu des images pendant des heures.

Passons à Natron

Aujourd'hui, je vais essayer de simuler le même genre d'effets en utilisant Natron 2. Je ne vais pas ici expliquer le processus en profondeur, mais simplement dire que celui-ci se base essentiellement sur le principe du bruit fractale, nommé SeNoise dans Natron. Celui utilisé ici se nomme plus précisément "Fractal Brownian Motion" (alias FBM). Il est utile pour recréer des textures de roches dans les logiciels 3D, des élévations de terrains, pour répartir des objets sur ceux-ci, mais il permet aussi de simuler des effets atmosphériques, que cela soit en 2D ou en 3D.

Texture 3D et "plan de coupe"

Cet effet se base sur un premier FBM, animé selon différents paramètres tel que la position, la rotation, le cisaillement et le déplacement du plan de coupe, nommé "Z0" in Natron.

J'utilise le terme plan de coupe (ou cut plane en anglais) car le FBM est une texture 3D. Il existe non seulement sur un plan 2D, mais aussi dans l'espace 3D. Comparons-le à de la mousse de savon très dense (telle que celle dans laquelle vous bougez vos corps le samedi soir en vous déchainant dans les clubs). Vous pouvez voir cette mousse comme un volume, bien que des millions de petites bulles se trouvent à l'intérieur de celui-ci. Si vous prenez une épée et que vous coupez cette mousse en deux, vous pouvez décrire un plan 2D à sa surface. La position de chaque bulle, ou plutôt des trous formés par celles-ci, dépend de la position / hauteur de l’épée juste avant que vous ne coupiez la mousse. Et bien c'est exactement le but de ce paramètre Z0. Il définit la hauteur de coupe.

Si vous animez cette valeur, vous pouvez déplacer le plan de coupe vers le haut ou vers le bas. Pour les utilisateurs d'After Effects, ce paramètre est identique à celui nommé Evolution dans l'effet Bruit fractal. Il fonctionne exactement de la même manière.

Variations sur un seul FBM

Afin de créer une animation visuellement complexe, vous pouvez ajouter de multiples FBM animés et faire apparaitre un fractal en fonction de la luminosité d'un autre, puis faire apparaitre le résultat de cette fusion dans un autre fractal, etc, etc ... en multipliant simplement deux FBM ensemble à chaque étape. Cependant, si vous voulez conserver un mouvement global cohérent pour chaque élément fractal de vos nuages ou de votre fumée, vous pouvez dupliquer le FBM initial et ajouter des transformations sur celui-ci, avant de multiplier ce duplicata au FBM d'origine, puis répéter le processus une nouvelle fois, puis une nouvelle fois, etc ...

De cette manière, il est possible de ne modifier qu'un ou deux paramètres initiaux afin de complétement changer l'aspect de vos nuages ou de votre fumée. Voici une vidéo montrant uniquement le changement de taille du FBM initial :


Jouons un peu avec le projet

Afin d'expliquer un peu mieux cette méthode, je fourni ici gratuitement le projet Natron 2, distribué sous licence Creative Common BY-NC. N'hésitez pas à faire joujou avec !

http://files.coyhot.com/2DProjects/MovingCloudsWithNatron2.zip

L'effet GodRays étant un peu long en calcul, j'ai activé le Proxy mode et réglé la valeur de sous-échantillonnage à 4. Seul goulot d'étranglement du graph, vous pourrez vous rendre compte que passer cette branch en bypass permet un rendu à la limite du temps réel. Amusez-vous bien !