Oyonale - Créations 3D et expériences graphiques
Tous les modèles 3D Modèles et scripts POV-Ray Modèles Cinema 4D Modèles OBJ Animaux Architecture Armes Jouets Meubles Objets de la maison Paysages Plantes Techniques 3D Véhicules

Générateur de nuages (POV-Ray)

Description

Les médias à base de fichiers de densité df3 sont plus rapides que les médias procéduraux tout en interagissant bien avec la lumière comme un média traditionnel. Pour cette raison, on peut utiliser les fichiers df3 pour créer des paysages de nuages presque réalistes, avec notamment des types de nuages impossibles à réaliser avec d'autres méthodes.

Les fichiers df3 ont été créés avec les macros Makecloud1 et Makecloud2 (téléchargeables ci-dessous) qui fonctionnent de la façon suivante : ces macros créent un pigment en noir et blanc tridimensionnel dans le plan x-y, puis déplacent ce pigment sur l'axe z, de telle sorte que, lorsque la macro est lancée comme une animation, chaque image (au format TGA) correspond à une "tranche" (comme dans un scanner médical). L'image ci-dessous montre 10 "tranches" de nuages alignées sur l'axe Z (en rouge).

La principale difficulté est de fabriquer une forme de nuage crédible, et les deux macros utilisent pour cela des méthodes différentes :

Voir les en-têtes des macros pour les instructions d'usage et la signification des paramètres.

Pour produire le fichier df3 à partir des images TGA, l'utilitaire tga2df3 est requis :

Le fichier df3 est ensuite utilisé de la façon suivante (les valeurs de scattering et d'absorption sont données comme exemples et doivent être adaptées à la scène) :

#declare C_Cloud=White*0.7;
#declare C_Scattering=C_Cloud*0.004;
#declare C_Absorption=(1-C_Cloud)*0.0005;
#declare Cloud=box{-0.5,0.5
    texture{pigment{Clear}finish{ambient 0 diffuse 0}}
    hollow
    interior{
        media{
            scattering{1,C_Scattering extinction 0.3}
            absorption C_Absorption
            intervals 3
            density{
                density_file df3 "cloud2_1.df3"
                turbulence 0.15 // surtout utile pour les nuages MakeCloud2 qui ne sont pas turbulents à l'origine
                lambda 2.1
                omega 0.8
                interpolate 1
                translate -0.5
                scale <1,-1,1>
            }
        }
    }
    scale <4/3,1,1>
}

Notes

Limites

Une des raisons pour laquelle les nuages df3 sont rapides tient (probablement) au fait que les valeurs de densités sont précalculées. Une autre raison est que chaque nuage est contraint dans sa propre boîte. En fait, on peut même gagner en vitesse en utilisant un conteneur plus petit, du moins si le nuage n'est pas trop turbulent (car sinon il risque de déborder). La méthode des boîtes à nuages a cependant deux limites majeures :

Par ailleurs, les formes des nuages obtenues par Makecloud1 et Makecloud2 sont loins d'être optimales et les utilisateurs sont invités à expérimenter avec d'autres  méthodes. Un problème particulièrement tordu consiste à garder plat le fond du nuage... Dans la réalité, on peut avoir un sommet de nuage très turbulent avec un fond complètement plat. MakeCloud2 permet de tirer le nuage vers le haut, mais cela ne marche pas très bien.

Un bref rappel des méthodes disponibles pour créer des nuages dans POV-Ray

MéthodesAvantages (1) Inconvénients
Photo en arrière-planRapide ; facile à mettre en oeuvre ; réaliste par définition ; tous types de nuages autorisés Peu dimensionnable (2) car limité par la taille de la photographie ; nécessite des photos correspondant à la scène ; environnement partiels (sauf cas particulier type images HDRI englobantes) ; pas d'interaction avec l'éclairage (3) ; possible décalage stylistique avec les objets 3D
Ciel Terragen en arrière-planRapide ; assez bien dimensionnable ; assez simple à mettre en oeuvre pour les ciels simples ; assez réaliste ; environnements completsBonne connaissance de Terragen requise ; peut-être difficile à faire pour des ciels complexes ; limité aux ciels que Terragen peut faire (et qui sont assez reconnaissables) ; n'interagissent pas avec l'éclairage
Pigment procédural sur un plan ou une sky_sphere (ciel entier) Rapide ; très dimensionnable ; facile dans certains cas ; assez réaliste dans certains cas (voir les cirrus de la démo "Mer")Plutôt difficile à mettre en oeuvre quand on souhaite des ciels réalistes ; pas d'interaction avec l'éclairage ; non adapté à de nombreux cas (style cumulus de beau temps)
Pigment procédural sur un polygone (nuage isolé) Rapide ; dimensionnable ; assez réaliste dans le cas de grands paysages nuageux vus sous un certain anglePlutôt difficile à mettre en oeuvre ; pas d'interaction avec l'éclairage ; inutilisable sauf cas particuliers
Empilement de plans avec pigment procédural partiellement transparent Rapide pour des résolutions d'écran ; souvent plus réaliste que les pigments procéduraux ; interaction avec l'éclairage Peut être lent à très lent pour de grandes résolutions car le nombre de plans doit alors être élévé ;
Media basé sur un pigment procédural Dimensionnable ; peut être très réaliste, voire photoréaliste quand utilisé en combinaison avec d'autres médias atmosphériques ; interaction avec l'éclairage quasi-parfaite Horriblement lent (quasi inutilisable pour les rendus de grande taille) ; difficile à tester et mettre en oeuvre à cause de cette lenteur ;  mal adapté aux gros nuages isolés style cumulus de beau temps
Media basé sur un fichier de densité df3 Plutôt rapide ; peut être très réaliste, notamment la forme des nuages (type cumulus de beau temps) ; interaction (partielle) avec l'éclairage Moyennement dimensionnable ; peut-être difficile à mettre en oeuvre ; nécessite la génération de fichiers df3 par un utilitaire externe ; mal adapté aux couverts nuageux denses

(1) Les avantages et inconvénients sont ici très généraux et on pourra facilement trouver des contre-exemples d'application de ces méthodes.

(2) Par "dimensionnable" on entend ici la capacité de l'objet ou de la texture à conserver son aspect quelque soit la résolution de rendu.

(3) Un nuage interagissant parfaitement avec l'éclairage devrait changer d'aspect selon la couleur, la position et l'intensité du soleil, et projeter des ombres tant sur le sol que sur les medias atmosphériques situés ci-dessous. Tout ceci peut être partiellement simulé pour les méthodes ne permettant pas d'interaction réelle.

Télécharger

Scènes 3D

Cet objet 3D a été utilisé dans les images suivantes :

Makecloud 1 Makecloud 2: jour Makecloud 2 : pluie Makecloud 2 : mer Makecloud 2 : soleil couchant #1 Makecloud 2 : soleil couchant #2 

Licence

Creative Commons License By Attribution Creative Commons License