SHADER DE FEU TROISIéME PARTIE
on en était là:
On a réussi a faire une boule de feu maintenant il est temps de la “sculpter” comme un vrai feu et d’ajouter de la fumée
regarder des référence est un bonne idée et Google est ton ami
La plus part des images de feu que l’on trouve ont une forme de triangle mais avant de faire ca faisons un peu de place dans le cube pour la fumée, faisons un scale de 2 en Z et appliquons le scale
Sans deformations la boule de feu ressemble a ça:
Pour corriger l’échelle en Z dans le Cube ou l’espace UVW on a besoin de rendre public de nouveaux paramétrés, Au lieu d’une seul valeur pour l’échelle (scale), nous allons rendre public les trois paramètres ainsi que pour le centre/placement en utilisant un combine XYT comme ça:
avant:
ce qui nous permet:
Re-déformons avec le noise
let’s deform it again with the noise
Avec un taille a 5 ensuite en jouant avec les paramètres de deformation et la taille , une fois satisfait il est temps d’animer le noise pour voir si cela marche vraiment
Pour faire ca, branchez un texture coordinate / generated dans l’entrée vector du noise et un translate vector entre les deux (un group fait dans les lessons précédentes) et en branchez un node Value dans la coordonnée Z du translate Vector, appelez la temps/time, au choix , comme ça
animation ! Allez a l’image 0, mettez zero dans le node time et pressez “i” (il doit changer de couleur) avec le pointeur de la souris au dessus, répétez la même chose à l’image 1 avec la valeur 1
Dans le graph editor, ajouter un modifier cyclic sur le nœud temps et choisissez “repeat with cycles” pour les deux paramètres before(avant) et after (après), ne touchez à rien d’autre
Si vous avancer une frame à la fois, vous verrez que le feu bouge extrêmement vite, ralentissons le avec un node math multiply a 0.01
bon ca va encore un peu vite mais surtout on se rend compte qu’il “descend” ou qu’il remonte le temps, changeons le multiply par -0.02, avant de refaire un rendu, on peut verifier en avançant dans la timeline
Beaucoup mieux, maintenant la fumée, dupliquons le groupe fire avec ctrl+shift+d pour garder les entrée connectées et rendez le group unique en cliquant sur le 2 ou le 3 après son nom, renommez le smoke/fumée
Entré dans le group, rajoutez un nœud absorption, mettez du noir dans color et branché le multiply qui était dans l’emission dans le slot density de l’absorption
Remontez d’un niveau et rajouter un nœud ADD shader et branchez les deux group, fire et smoke dedans, la sortie du ADD allant dans le volume du Material Output
On ne voit aps de differences, pour deux raison, la fond est noir et deuxième raison le feu et la fumée sont exactement au même en droit, déplacez un peu la fumée et mettez du gris en couleur de fond dans le panneau environnement
Si vous voulez voir mes paramètres:
Il est temps de rendre une animation pour voir si ca bouge de manière convaincante
Beaucoup , mieux mais j’ai oublié de donner une forme au feu. Pour l’instant c’est une sphere donc le bas dépasse de la boite, et nous avons publié quelques paramètres intéressant, notamment le scale, l’échelle. Pour faire simple nous voulons que la base soi plus large que le haut, faisons ça
On à déformé les UVW dans la boite, mais les coordonnée d’origine existent toujours
Donc, en partant du bleu, ou W ou encore Z, nous allons changer la taille de la flamme en utilisant une courbe, beaucoup plus intuitive que de maths. On a juste besoin de séparé XYZ des coordonnées générés (node texture coordinate), branché le dans une color curve, donnez a la courbe la forme d’une moitié de goutte d’eau et multiplié la sortie pour une valeur qui nous servira a contrôler la taille global. branchez tout ca dans le scale X et scale Y
Zoomée de cette façon, avec cette intensité (4), les bords de la flame sont un peu dures, un peu trop net. Pour arranger cela , on peut utiliser un dégradé quadratic a la place du spherical dans le group ou bien utilisé un node math power en publiant la deuxième valeur pour garder le control un fois sortie du group, en lui donnant le jolie non de falloff, ou atténuation, parce que c’est ce qu’on veut, controller l’atténuation de la force, Luke. Pendant que nous somme dans le groupe, on peut aussi ajouter un autre node pour controller la couleur de la flame et sa saturation, la façon la plus rapide de le faire et de rajouter un nœud Hue Saturation Value et de publié le Hue (teinte) et saturation en laissant value a 1, vu qu’il est déjà contrôlé par le paramètre strength (force), cela donne ça:
En remettant la fumée ca ressemble a ça
Il est temps de refaire la fumée depuis le group fire/flame mis a jour
Encore une fois remplacez l’Emission par une Absorption, enlever tout ce qui touche a la couleur , et publiez simplement la couleur de l’absorption
La dernière chose a faire et une transition pour masquer le haut de la boite, du volume, donc sur l’axe Z, avec la même astuce mais avec un dégradé (color ramp), utilisez la coordonnée Z du Texture coordinate
Avant:
Après:
et le graph:
Et c’est fini pour la partie 3 !
Maintenant il est temps de faire le votre, essayez de varier la vitesse sur l’axe Z (moins vite à la base par exemple), combinez différents Noises dans la déformation pour faire du vent, des turbulences !
Happy blending
Download the file