Shader de feu première partie
Fire shader !
Avant de rentrer dans le vif du sujet parlons des UV ou des UVW
UVW c’est Les XYZ mais dans l’espace texture, il sont représenté par UV sur les noeud image ou vector pour les autres noeuds
Uv automatic (generated) pour un cube vu de dessous:
Le point au centre de l’image est noir, il représente l’origin des l’espace UVW, la bounding box, il sera l’origine de toutes les textures 3D
Essayons un dégradé sphérique(gradient spherical erreur dans l’image c’est un quadratique mais ca ne change pas grand chose, on y reviendra peut être plus tard :
notez que la sortie “generated” n’est pas branché sur le dégradé mais c’est tout comme, c’est de toute façon l’origin par défaut. AUssi on voit que le centre de la sphere est a l’origin, c’est a dire 0,0,0
Et bien devinez quoi ? on à déjà commencer notre shader de feu, après tout le feu c’est comme une boule qui émet de la lumière donc on créé un shader emission et on le branche dans le slot volume du material output en prenant soins de débrancher ce qu’il y avait dans le slot surface ensuite on branche la sortie fac (factor) ou l’autre a ce stade ca n’a pas d’importance
ca ne change rien … jusau’a ce qu’on tourne autour ou qu’on mette un objet dedans:
Je trouve que travailler la couleur du feu, il est plus simple d’utiliser les temperature kelvin au lieu des habituels dégradé (ramp), on va utilisé une convertisseur Blackbody pour ca.
Comme la sortie de notre dégradé va de 0 à 1 et qu’on (enfin je) veux que la temperature aille de 2000° à 4000° degrés Kelvin je multiplie la sortie du dégradé par 2000 et je lui rajoute 2000
Cela ressemble déjà à du feu et Suzanne mise a part, il n’y a pas de grain, même a deux samples:
Premier probleme, le feu est dans le coin et nous voudrions qu’il soit au centre du cube avant de le déformer, on a donc besoin de déplacer son origin, on va finalement avoir besoin du noeud “texture coordinate”
Un peu de math, je ne parlerais que de la coordonnée X, c’est le meme principe pour les 3 axes, XYZ
on voudrait que le point au milieu du cube, donc en X=0.5 devienne 0, vu que la sphere utilise le 0 pour centre, facile 0=0.5-0.5
il suffit de brancher le texture coordinate dans un noeud “vector math” en mode soustraction, et comme la valeur par défaut du deuxième slot est 0.5, le travail est terminé
Deuxième problème, le rayon de la sphere est de 1 donc elle sort du cube de tous les côtés, parce que, peut importe ca taille, ses dimension “automatic”, generated UV vont de 0 à 1. Ou de 0,0,0 a 1,1,,1
On va donc lui faire une échelle avec un groupe de noeud personnalisé (custom), mais un facile
le principe est le m^me que plus haut, toujours pour x, maintenant que notre origin est au centre du cube, ses bord sont a 0.5 et -0.5 alors qu’on voudrait qu’ils soit a 1 et -1 donc, 0.5*2=1
Notez comment j’ai dupliqué les noeud input (entrée) pour rendre le graphique plus lisible, pour les petit groupes de noeuds il n’y a pas de problème mais quand vous arriverez à des groupes de plus de 50 noeuds, et vous y arriverez, ca sera un cauchemar.
C’est encore plus jolie sans Suzanne
Avant de déformer les UV pour faire des flames, c’est une bonne idée de faire un groupe pour économiser de la place à l’écran, avec des valeurs fixe, cachées et d’autres public, c’est a dire accessible depuis l’extérieur du noeud mais avant de faire ça, rajoutons un coefficient pour multiplier la force (strength) du noeud d’émission comme ici ()cercle en grease pencil
Maintenant selectionnez tous les noeuds sauf les mateiral output, le texture coordinate ainsi que le coeff de la force et appuyez sur CTRL+G, en sortant du groupe cela doit vous donner quelque chose comme ça:
Renommez le gruop, “flame” et rentrez a nouveau dedans avec tab, on a oublié quelque chose, de rendre public la temperature de la couleur, avec une peu de math on ajoute le minium a la difference entre la max et le min qu’on multiplie enfin par la sortie du dégradé. Encore une fois pour plus de lisibilité, on duplique les entrées du groupe et surtout on renomme les slots du groupe.
la bonne nouvelle c’est que si vous coché le petit bouton F sur le noeud et que vous faite de cette scene votre scene de démarrage, vous n’aurez plus jamais besoin d e refaire tout ca, la mauvaise c’est que cette première partie du tuto touche à sa fin.
Questions, fautes de frappe, suggestion > dans les commentaires
prochaine partie demain