Dans ce septième tutoriel de la série consacrée au feu et à la fumée avec le simulateur Fluid dans Blender 4.5, nous allons voir comment utiliser les Voxel Attributes décrits dans le tutoriel précédent afin de modifier les matériaux du feu et de la fumée pour le rendu.
Ce tutoriel fait partie d’une mini-série de 10 épisodes sur les bases du Feu et de la Fumée dans Blender 4.5. Pour voir la liste complète des épisodes, cliquez ici.
Transcription de la vidéo
Bonjour à tous. Dans ce septième tutoriel de la série consacrée au feu et à la fumée avec le simulateur Fluid dans Blender 4.5, nous allons voir comment utiliser les Voxel Attributes décrits dans le tutoriel précédent afin de modifier les matériaux du feu et de la fumée pour le rendu.
Dans la scène que j’utilise pour le premier exemple de cet épisode, l’émission du feu provient d’un Vertex Group de l’objet dont le composant Fluid est réglé sur Inflow Fire. Le Domain de la simulation n’englobe que la partie supérieure du brûleur, puisque c’est là que la flamme se développe.
Concernant l’émission à partir d’un Vertex Group, si les flammes émises ne sont pas visibles, le problème peut être lié à la résolution du Domain. Avec des résolutions trop basses, donc des Voxels trop grands, les Voxels contenant les sommets émetteurs peuvent être considérés comme vides et ne pas produire de flammes. Essayez donc d’augmenter la résolution du Domain.

Avec les paramètres par défaut, la flamme initiale sera très basse, voire invisible en vue latérale, mais nous connaissons désormais plusieurs méthodes pour ajuster son apparence. Par exemple, nous pouvons agir sur la vitesse initiale de l’objet Inflow afin de donner une impulsion vers le haut aux flammes, ou sur la reaction speed du Domain pour rendre les flammes plus hautes. Quant au type de flammes produites par ce brûleur, elles peuvent varier en turbulence et en couleur. Pour obtenir une flamme de quatrième type, avec presque aucune turbulence, je réduis la valeur de Vorticity dans la section Fire du Domain à 0.
Comme dernière modification avant de définir le Material, j’ajoute davantage de sommets au Vertex Group d’émission et je limite l’animation de la Timeline aux 100 dernières images de la simulation, c’est à dire lorsque la flamme est déjà bien développée et stable.
Passons maintenant à la définition du Material. Je règle directement la vue 3D en mode Rendered avec la Strength du fond World définie sur 0, de sorte que l’aperçu sera d’abord noir. Dans un Image Editor à gauche, j’ai placé une image de référence, tandis qu’au centre j’ai le Material Editor avec le Domain, qui contient un nœud Principled Volume.
Comme nous l’avons vu dans les tutoriels précédents, augmenter Emission Strength et attribuer une couleur uniforme au champ Emission Color donne un résultat très décevant. Nous avons vu comment utiliser Blackbody, mais il est maintenant temps d’apprendre à utiliser le mode Emission.

Dans l’épisode précédent, nous avons vu que le simulateur de fluides stocke des informations pour chaque Voxel. Ces données peuvent être récupérées à l’aide de nœuds Attribute en saisissant les noms des attributs dans le champ approprié. Toutefois, les matériaux volumétriques disposent d’un nœud dédié appelé Volume Info, qui fournit ces attributs sous forme de sorties.
En connectant la sortie Flame ou la sortie Temperature à l’entrée Emission Strength, l’apparence de la flamme change radicalement. La sortie Flame fournit des valeurs mieux interpolées que la sortie Temperature, ce qui rend aussi la résolution du Domain plus visible.
Pour cette raison, j’utiliserai Flame.
Les sorties Flame et Temperature peuvent également être utilisées pour Emission Color, surtout si nous plaçons un nœud Color Ramp entre les deux. De cette façon, nous pouvons modifier la couleur de la flamme à différents points en fonction des informations contenues dans les Voxels du Domain.

J’utilise l’information Flame pour le Color Ramp et donc pour le paramètre Emission Color du Material. À ce stade, la tâche consiste à définir les niveaux de couleur et de transparence des stops du Color Ramp. Pour cela, vous pouvez utiliser le Color Picker de Blender afin d’échantillonner directement les couleurs depuis l’image de référence.
Gardez à l’esprit que les couleurs des différents stops peuvent également inclure des niveaux de transparence, très utiles pour les parties extérieures de la flamme, où l’on observe souvent une zone semi transparente avant la limite plus opaque.
Vous devrez également choisir avec soin l’interpolation entre les Color Stops.
Parmi ces options, la plus extrême est Constant, qui passe brusquement d’un Color Stop à un autre. Ce n’est pas très réaliste, mais cela peut être utilisé pour des représentations plus artistiques.
Si ce tutoriel sur les Materials semble court, c’est simplement parce que nous nous appuyons sur les informations et les paramètres étudiés dans les tutoriels précédents.
À ce stade, nous en savons déjà assez pour commencer à définir différentes formes de flammes à travers les paramètres Fluid des objets Domain et Flow, ainsi que leur apparence visuelle en utilisant Blackbody ou Emission, avec les différents nœuds fournis par Blender.

Ne vous limitez pas à la configuration que je viens de vous montrer. Expérimentez également avec d’autres nœuds de Material. Par exemple, vous pouvez ajouter un nœud Math réglé sur Multiply ou Power pour modifier Emission Strength, en altérant les informations provenant de Flame. De plus, les paramètres de ces nœuds peuvent recevoir des keyframes, ce qui vous permet d’animer l’intensité de la flamme via ces nœuds en modifiant le Material, sans avoir à ajuster les champs du composant Fluid de la simulation.
Avant de conclure ce tutoriel, laissez moi vous montrer comment j’ai créé trois objets Inflow avec trois couleurs différentes à l’intérieur du même Domain. Le résultat n’est pas parfait, mais je vais m’en servir pour démontrer un autre cas d’utilisation des nœuds, en particulier le Color Ramp.
Comme nous le savons, le Material doit être défini au niveau du Domain, car il est généré à partir des Voxels du Domain. Cela signifie que nous ne pouvons pas attribuer différents nœuds Blackbody aux objets Inflow qu’il contient.
Cependant, l’un des champs des objets Inflow est Smoke Color, défini dans le panneau Inflow.
Cette couleur peut être récupérée dans le Shader du Domain via le nœud Volume Info, en utilisant spécifiquement la sortie Color.

En utilisant ce champ comme Factor dans un nœud Mix Shader, nous pouvons attribuer différents nœuds Principled Volume à différents Voxels en fonction de la couleur de fumée définie pour chacun.
Mais le Mix Shader seul mélangerait simplement les deux Shaders à parts égales. Nous devons donc utiliser un Color Ramp avec une séparation nette entre les couleurs provenant de Volume Info.
Pour obtenir cela, je règle la méthode d’interpolation sur Constant.
J’ai ensuite attribué trois couleurs différentes aux champs Color des trois objets Inflow, de gauche à droite : blanc, gris et noir.
Le premier Color Ramp sépare le noir des autres couleurs. Le noir correspond à 0, il est donc envoyé vers la première entrée Shader du premier nœud Mix Shader, qui dans ce cas est connecté à un nœud Principled Volume avec un Blackbody Tint rouge.
J’active également Denoise dans l’aperçu 3D afin de mieux définir la couleur des éléments en vue Rendered.

La seconde entrée Shader du Mix Shader est connectée à un nœud Principled Volume avec un Blackbody Tint bleu. À ce stade, si la couleur de fumée est noire, nous obtenons un Blackbody rouge.
Si la couleur de fumée n’est pas noire, nous obtenons un Blackbody bleu.
Ensuite, un autre nœud Mix Shader intervient. Il prend en entrée un autre Color Ramp, réglé spécifiquement sur Constant avec un Color Stop placé exactement au milieu de la rampe.

Dans ce cas, si la couleur de fumée est comprise entre le noir et le gris, la première entrée Shader du second Mix Shader est utilisée. Ce Shader correspondait au résultat de la distinction précédente entre noir et gris, donc la couleur finale sera soit rouge, soit bleue.
En revanche, si la couleur de fumée est comprise entre le gris et le blanc, la seconde entrée Shader du second Mix Shader est utilisée. Cette entrée est connectée à un nœud Principled Volume avec un Blackbody Tint vert.
Ainsi, l’objet dont Smoke Color est blanc sera rendu en vert.
Bien sûr, ce n’est pas la seule méthode pour créer des sphères enflammées avec deux ou trois couleurs différentes, mais je voulais vous la montrer comme exemple d’utilisation. Comme je l’ai mentionné plus tôt, la séparation n’est pas parfaite, je vous encourage donc à proposer des ajustements ou des configurations alternatives dans les commentaires si vous en trouvez d’autres.
