Blog

Filter by

Categories

Tags

RSS
000677

SHADER DE FEU TROISIéME PARTIE

on en était là:

2017-01-26_17-41-44

000643

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:

000654

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:

000655

après:
000657

ce qui nous permet:

000658

 

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

000659

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

000660

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

Tada !ezgif.com-916ca071c6

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

ezgif.com-21a1746870

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

 

000663

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

000664

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

000665

Si vous voulez voir mes paramètres:

000666

Il est temps de rendre une animation pour voir si ca bouge de manière convaincante

ezgif.com-9962b109c8

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

000667

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

000668

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:

000669

En remettant la fumée ca ressemble a ça

000670

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

000671

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:


000674

Après:

000673

et le graph:

000675

Et c’est fini pour la partie 3 !

 

ezgif.com-46c6074fca

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

 

 

 

 

 

 

 

 

Comments are closed.