Blog

Filter by

Categories

Tags

RSS
HD

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:

 

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/000626.jpg" alt="000626" ]

 

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 :

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/000627.jpg" alt="000627" ]

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

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/000628.jpg" alt="000628" ]

ca ne change rien … jusau’a ce qu’on tourne autour ou qu’on mette un objet dedans:

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/2017-01-25_14-50-50.gif" alt="2017-01-25_14-50-50" ]

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.

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/000629.jpg" alt="000629" ]

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é

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/000630.jpg" alt="000630" ]

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

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/000631.jpg" alt="000631" ]

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.

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/000632.jpg" alt="000632" ]
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

 

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/000633.jpg" alt="000633" ]

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:

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/000634.jpg" alt="000634" ]

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.

[airesizeimg src="http://real3d.fr/wp-content/uploads/2017/01/000636.jpg" alt="000636" ]

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

 

Leave a reply

Please correct form

required*