L’Encyclopédie des Shaders Cycles

Traduction de “The Cycles Shader Encyclopedia” de Blender Guru

Vous trouvez les nodes de Cycles un peu déroutants ? Vous n’êtes pas seul.

Bien que les nodes de Cycles offrent un contrôle quasi absolu sur vos matériaux, beaucoup d’utilisateurs ont du mal à s’y retrouver dans ce labyrinthe d’options.  

C’est pourquoi cet article se propose de réaliser l’impossible : expliquer chaque shader Cycles dans un langage facile à comprendre.

Enjoy! -Greg Zaal


Diffuse BSDF

matball_diffuse.jpg

Ce que ça fait : Reçoit la lumière et la diffuse sans aucune réflexion visible.

À utiliser pour : Des surfaces non réfléchissantes comme du papier ou un mur ; ou pour le mélanger avec d’autres shaders 

Propriétés

Diffuse-673x372.png

Roughness (rugosité)

Vous avez peut être joué avec ce paramètre un peu obscur et observé, confus, votre écran, en vous demandant pourquoi rien ne changeait. Il y a bel et bien un changement, mais il est très subtil :  

compare_diffuse_roughness.gif

Roughness ajoute un très léger effet de rugosité à la surface, à un niveau microscopique.

Où voudriez vous utiliser ça ? Partout ou vous avez besoin d’un très fin relief qui est à peine visible à l’oeil nu, comme sur du tissu, du bois brut ou du sable.

usage_diff-673x242.jpg


Glossy BSDF

matball_glossy.jpg

Ce que ça fait : Réfléchit les lumières et l’environnement.

À utiliser pour : Ajouter des réflexions à un objet.

Ce shader très courant s’utilise souvent conjointement avec le shader Diffuse (à l’aide d’une shader Mix, voir plus bas) pour créer des matériaux très courants comme du plastique, du métal, de la céramique ou du bois :

usage_glossy-673x178.jpg

Table par 1DInc, dragon par l’Université de Stanford 

Propriétés

glossy_bsdf-673x492.png

Distribution Function (fonction de distribution)

Pour faire simple, c’est la fonction mathématique qui est utilisée pour calculer le flou.

Laquelle utiliser ? Tout dépend de la situation et de vos propres préférences.

Je trouve que Beckmann fonctionne bien pour les métaux et GGX pour à peu près tout le reste. Ashikmin-Shirley a été ajouté assez récemment, et semble être une sorte de compromis entre les deux. Il est intéressant de noter qu’avec un Roughness de 0, vous ne verrez aucune différence quelle que soit la fonction utilisée.

compare_glossy_distributions-673x752.jpg

Roughness (rugosité)

Ce paramètre définit à quel point les réflexions sont floues, en simulant un très léger relief de la surface :

compare_glossy_roughness.gif

 

 


Anisotropic BSDF

matball_anisotropy.jpg

Ce que ça fait : Se comporte exactement comme le shader Glossy, mais dévie les réflexions dans une direction.
À utiliser pour : Du métal brossé ou des matériaux sur lesquels la lumière ne se réfléchit pas uniformément, comme le fond d’une poêle à frire.

usage_anisotropy-673x379.jpg

Un tutoriel sur le shader Anisotropic (en anglais)  

Propriétés

anisotropic_bsdf-673x648.png

Distribution Function (fonction de distribution)

C’est identique à la fonction de distribution du shader Glossy, néanmoins la différence entre les différentes fonctions est ici bien plus visible :

compare_anisotropy_distributions-673x752.jpg

 

Anisotropy (anisotropie)

Une valeur entre -1,0 et 1,0 qui définit la quantité de distorsion. Les valeurs négatives étirent les reflets horizontalement, et les valeurs positives les étirent verticalement. À 0,0, le résultat est exactement le même que d’utiliser simplement un shader Glossy.  

compare_anisotropy_anisotropy.gif

Rotation

Utilisé pour pivoter la direction dans laquelle est dévié le reflet. Va de 0,0 à 1,0 et pivote de 0° à 360°. En général on gardera une valeur entre 0,0 et 0,5 (une rotation de 180° ne se voit pas).

compare_anisotropy_rotation.gif

Tangent (tangente)

En gros, la tangente détermine quel axe est utilisé pour dévier la réflexion. Elle s’utilise avec un node Tangent.

compare_anisotropy_tangent-673x252.jpg

Anisotropy with tangents: radial Z, radial Y, UV

Un tutoriel : Introduction au shader Anisotropic (en anglais)

Glass BSDF

matball_glass.jpg

Ce que ça fait : Se comporte comme du verre, en tordant et en réfléchissant la lumière qui vient frapper sa surface, en fonction de son indice de réfraction (IOR)

À utiliser pour : Du verre, de l’eau, ou tout autre matériau qui réfléchit et courbe la lumière, comme des pierres précieuses.

usage_glass-673x288.jpg

Comment créer un verre de bière (tutoriel, en anglais) & Crystal Turtle par Jeepster

 


Propriétés

glass_bsdf-673x516.png

Distribution Function (fonction de distribution)

Encore une fois, permet de choisir quel algorithme est utilisé pour calculer l’apparence des réflexions et réfractions floues ; néanmoins, cette fois l’algorithme d’Ashikmin-Shirley n’est pas disponible.

compare_glass_distributions.jpg

Beckmann vs GGX

 

Roughness (rugosité)

Simule des minuscules bosses et éraflures à la surface, qui donnent l’apparence de verre givré ou dépoli.

compare_glass_roughness.jpg

Glass Roughness: 0 vs 0.2

 

IOR (indice de réfraction)

L’indice de réfraction détermine à quel point la lumière est courbée en traversant la surface, ainsi que à quel point les réflexions sont visibles.

compare_glass_ior.gif

Vous pourrez trouver sur internet un grand nombre de listes d’IOR pour différents matériaux, et la plupart ont des différences minimes car l’indice de réfraction change selon la température de la matière, mais voici une bonne base :

 (NdT entre 0 et 1 IOR devient de la réflexion )


Refraction BSDF

matball_refraction.jpg

 

Ce que ça fait : Se comporte exactement comme le shader Glass, mais sans les réflexions.

À utiliser pour : Des cas particuliers où vous avez besoin de réfracter la lumière, mais sans la refléter. Par exemple, une distorsion due à la chaleur, ou un trou noir.

 

refraction_bsdf-673x509.png

WelldocumentedFaithfulAmericancrayfish.gif

Merci à gandalf3 pour son incroyable Tutoriel sur les trous noirs (en anglais)

Transparent BSDF

matball_transparent.jpg

 

Ce que ça fait : Complètement transparent s’il est blanc, teinté s’il est coloré.

À utiliser pour : Combiner avec d’autres matériaux, pour créer des zones transparentes.

transparent_bsdf-673x265.png

En soi, il est invisible et plutôt inutile ; mais combiné avec une image comprenant un masque alpha, il peut être utilisé pour représenter des objets complexes comme des feuilles ou des cheveux.

usage_transparent-673x259.jpg

Du verre sans réfraction, l’atrium de Sponza par Marko Dabrovic (télécharger le blend)

 


Translucent BSDF

matball_translucent.jpg

 

Ce que ça fait : Laisse la lumière le traverser.

À utiliser pour : Des objets fins comme de l’herbe ou du papier. Combiné à d’autres shaders comme le Diffuse, pour un effet plus réaliste.

translucent_bsdf-673x300.png

Celui ci m’a dérouté pendant longtemps, jusqu’à ce que je réalise qu’il n’était pas destiné à être utilisé tel quel, mais combiné avec d’autres shaders pour permettre à la lumière de les traverser.

compare_translucent_lamp.gif

Vous remarquez comment le plan s’éclaire uniquement quand la lumière est située derrière lui ? Voici comment le shader Translucent se comporte s’il est seul.

Ce qui importe vraiment, c’est le nombre de rebonds de lumière (light bounces). Une fois que la lumière est à l’intérieur de l’objet, et que nous lui permettons de rebondir à l’intérieur, une partie de cette lumière va alors ressortir par la surface et éclairer les faces de devant.  

compare_translucent_bounces.gif

Ce n’est pas spécialement utile en soi, mais en le combinant avec, disons, un shader Diffuse, on peut créer des matériaux vraiment très intéressants.

compare_translucent_diffuse-673x252.jpg

Diffuse seul, Diffuse mélangé avec un Translucent, Translucent seul

Il ne faut pas le confondre avec le Sub Surface Scattering (voir plus bas)

Le shader Translucent s’utilise seulement quand l’objet est fin (papier, herbe, feuilles, etc.)

Velvet BSDF

matball_velvet.jpg

Ce que ça fait : courbe la lumière autour de lui comme le ferait du velours.

À utiliser pour : Des vêtements et du tissu

Vous pouvez vous le représenter comme un shader Diffuse, mais avec une grosse tache sombre au milieu :

compare_velvet_diffuse.jpg

Diffuse vs Velvet

Propriétés

velvet_bsdf-673x365.png

Sigma

Une sorte de valeur de rugosité qui définit la taille de la tache sombre ; une valeur élevée donne une tache plus petite.

compare_velvet_sigma.gif

 

 


Toon BSDF

matball_toon.jpg

Ce que ça fait : crée un ombrage “cartoonesque”

À utiliser pour : Des cas particuliers où vous avez besoin d’un style non réaliste, de type dessin animé.

Propriétés

toon_bsdf-673x515.png

Component (composant)

Choisir en Diffuse et Glossy ; la différence est simplement que Diffuse ne dépend pas de la vue (l’apparence d’un point particulier de la surface ne change pas quand la caméra se déplace), alors que le Glossy dépend de la vue.

compare_toon_component-673x379.jpg

Toon components (diffuse vs glossy)

Size (taille)

Choisissez la taille des formes circulaires ; en général on utilise une taille élevée pour le Diffuse, et une plus petite pour le Glossy.

compare_toon_size.jpg

À gauche : Diffuse avec une petite et une grande taille. À droite : Glossy avec une petite et une grande taille.

 

Smooth (lissage)

Pour la composante Glossy, ceci agit comme un paramètre de rugosité et floute les réflexions. Pour la composante Diffuse, ceci adoucit les bords de la forme circulaire.

compare_toon_smooth.jpg

À gauche : Diffuse avec un petit et un grand Smooth. À droite : Glossy avec un petit et un grand Smooth.


Subsurface Scattering

matball_sss.jpg

Ce que ça fait : Simule la diffusion de la lumière sous la surface d’un objet.

À utiliser pour : De la peau, de la cire, du lait et toute sorte de nourriture

usage_sss-673x266.jpg

Scan d’une tête par Ten 24

Propriétés

subsurface_scattering-673x640.png

Falloff (atténuation)

Comme pour la fonction de distribution du Glossy, ça définit simplement quel algorithme est utilisé pour calculer l’atténuation graduelle de la lumière lorsqu’elle traverse le matériaux. La différence entre les deux options (Cubic et Gaussian) est très légère, néanmoins **je comprends pas trop ce qu’il veut dire** (voir NVidia, Arnold, Matt Heimlich), et Cubic propose une option “Sharpness” (dureté) supplémentaire.  

compare_sss_falloff.gif

Scale (Échelle)

Définit jusqu’à quelle distance la lumière peut se diffuser à travers la surface

compare_sss_scale-673x252.jpg

Radius (Rayon)

Un moyen supplémentaire de définir jusqu’à quelle distance la lumière se diffuse sous la surface, mais cette fois avec des valeurs distinctes pour les canaux rouge, vert et bleu. Ainsi on peut teinter la lumière diffusée, par exemple la peau diffuse plus la lumière rouge. À noter qu’on peut brancher une sortie de couleur dans cette entrée.

compare_sss_radius.jpg

À droite, le rayon est plus large pour le rouge.

 

Sharpness (Dureté)

Cette option est disponible uniquement avec l’atténuation Cubic. Elle s’assure que les arêtes aiguës ne soient pas trop lissées, et peut permettre d’éviter l’apparition d’arêtes sombres.  

compare_sss_sharp.gif

Texture Blur (Flou de texture)

Naturellement c’est utilisé pour “flouter” la texture (ou quoi qu’on branche dans l’entrée Color), mais ce n’est sans doute pas ce à quoi vous vous attendez. Le rayon du flou reste constant, il est le même que celui de l’entrée Scale. Le paramètre Texture Blur définit en réalité à quel point le flou est mélangé avec la texture d’origine, c’est à dire qu’à 0,0 vous avez votre texture d’origine bien nette, à 0,5 vous avez à moitié votre texture nette, et à moitié la texture floue fondue par dessus. À 1,0, vous ne voyez plus que la texture floue.

Ça signifie qu’on a l’impression qu’une partie de la couleur de la texture “bave” en dessous de la surface. Vous n’utiliserez probablement pas ça souvent, car les textures de peau sont souvent obtenues à partir de photos, qui incluent déjà l’effet de flou.

compare_sss_texblur-673x189.jpg

 


Emission

matball_emission.jpg

Ce que ça fait : Littéralement, émet de la lumière et la projette sur les objets environnants.

A utiliser pour : Les objets qui ont besoin d’émettre de la lumière ou d'apparaître lumineux comme les ampoules, les étincelles, le feu, ou tout simplement utilisés comme source lumineuse.

 

Propriété

emission-673x248.png

Strength

L’intensité de la lumière/brillance émise.

compare_emission_strength-673x151.jpg


Background (Arrière plan)

usage_background.jpg

La même scène avec juste une variation de HDRs.

background-673x324.png

Ce shader est juste utilisable dans les nodes du World, et est utilisé pour l’émission d’ une lumière depuis l'environnement.

Vous pouvez l’utiliser en y ajoutant une texture sky (ciel)  pour des jours lumineux et ensoleillés, ou utiliser une image HDR pour un éclairage instantané de meilleur qualité

Ici un tutoriel sur comment utiliser une image HDR pour un éclairage dans Cycles : how to use HDRs for lighting in Cycles (en)

 


Hair BSDF matball_hair.jpg

Ce que ça fait: Absorbe et réfléchit  la lumière  – Mais spécialement  pour les cheveux.

A utiliser pour :  Cheveux et fourrure.

Ce shader intéressant est comme  un mix entre un shader diffuse , Translucent et anisotropic shader .

Généralement le shader donne mal a la tête au CG. Non seulement il est  difficile à créer et à arranger de façon attrayante, mais il est extrêmement gourmand autant en rendu qu’en simulation. . C’est parce que le shader a essentiellement  une énorme quantité de petite géométrie qui doit être vue comme  un ensemble..

En fait ce shader profite du fait que nous ne soucions pas de ce que chaque brin donnera, nous souhaitons juste un super personnage pelucheux qui soit correct. Oui, nous pourrions créer un bon matériau pour les cheveux en utilisant un shader diffuse, glossy et transparence ou SSS, mais cela sera très gourmand en temps de calcul au moment du rendu. Au lieu de cela, ce shader prend un raccourci et réalise quelques approximations très intelligentes concernant l’aspect de chaque brin  Les brins ne sont pas terribles si on les regarde de près, et ne pensez pas à les utiliser sur une géométrie normale (ok, fait, c’est plutôt sympa : http://imgur.com/JYogp5m ), mais utilisé pour de la chevelure, cela fonctionne vraiment très bien

Propriétés

hair_bsdf-673x527.png

Composant

Le composant Réflexion gère la réflexion de la lumière sur une surface de type cheveux ou fourrure. . Transmission concerne la lumière qui passe à travers les cheveux et sort de l’autre côté. . La plupart du temps, vous utiliserez deux fois ce node : un pour la réflexion, l’autre pour la transmission et les deux seront branchés sur un node Mix.

compare_hair_component.jpg

Composants du node (transmission vs réflexion)

 

Rotation

Vous souvenez-vous de la propriété Rotation du shader Anisotropic ? C’est ici exactement la même chose mais avec un nom différent et une mesure en degrés UI inconsistency bites :)

Les cheveux/fourrure ont une orientation par nature. Ainsi la réflexion/transmission de la lumière sera déviée dans une direction  Cette propriété nous permet de contrôler l’angle de cette déviation.

compare_hair_offset-673x379.jpg

Au dessus : réflexion avec une augmentation de l’offset ; au-dessous : transmission avec une augmentation de l’offset  

 

Roughness U/V (Dureté U/V)

Contrôle la brillance du poil, U pour la longueur et V pour l’épaisseur du poil. En modifiant la valeur de la propriété Offset, les reflets se déplaceront. Permuter les valeurs entre elles aura le même effet qu’avoir un Offset à 90°  Cela nous permet en tout cas de faire des cheveux ou poils plus ou moins brillants et de contrôler l’effet d’anisotropie.

 


Ambient Occlusion

matball_ao.jpg

Ce que ça fait: Calcule les parties sombres dans les coins et crevasses .

A utiliser pour: Souligner des points de contacts, ou simuler un éclairage d'environnement.

AO veux dire Ambient Occlusion, et est normalement utilisé pour toute scène utilisant la passe  de rendu AO. Mais si vous voulez plus de contrôle, ou l’ajouter sur un seul objet, alors ce shader peut être utile.

usage_ao-673x409.jpg

En utilisant la méthode illustré ci-dessus pour supprimer l’AO sur un objet spécifique. Dans l’exemple, seul le cube du milieu avec l’ID de 1 aura l’effet d’AO appliqué.

Ce shader émet de la lumière, donc à prendre en compte dans le cas d’utilisation de passe de rendu personnalisée

La propriété Distance de l’AO est contrôlé par le même réglage que l’on retrouve dans le panneau monde, onglet AO.

Propriétés

ambient_occlusion-673x254.png

Couleur

Il s’agit de la couleur de la partie brillance de l’AO, l'obscurité est toujours noire.

compare_ao_color.jpg

 


Holdout

matball_holdout.jpg

holdout-673x177.png

Ce que ça fait: Crée un trou transparent dans votre rendu.

A utiliser pour : A des fins de composition. . Le “trou” prendra la forme de l’objet qui a ce shader, l’objet continuera de projeter des ombres mais les objets placés derrière lui ne seront pas visibles.

L’objet continuera de projeter des ombres, il sera par contre complètement transparent au rendu, à condition que l’option “transparent” soit coché dans le panneau Rendu, onglet Film.

 


Volume Absorption

matball_volab.jpg

Ce que ça fait :  N’affecte  que le volume du materiau l, en absorbant graduellement la lumière , et devient plus sombre à mesure de la profondeur de l’objet.

A utiliser pour :  des eaux boueuses, et des liquides colorés ou du verre.

A la différence des shaders précédent , celui ci n’affecte pas la surface des objets, il affecte leur volume . Et dans ce cas particulier Il absorbe progressivement la lumière, selon la profondeur de l’objet .

Properties

volume_absorption-673x313.png

Densité

Contrôle l’épaisseur du volume. Plus la densité est haute, plus il y aura de lumière est absorbé , et plus la couleur de l’objet sera sombre et riche

compare_volab_density.gif

 

 


Volume Scatter (Dispersion volumétrique)

matball_volscat.jpg

 

Ce que ça fait: Disperse la lumière qui passe à travers l’objet.

A utiliser pour: Nuage, fumée et brouillard.

Comme pour le précédent shader, affecte le volume de l’objet et non la surface– et dans ce cas, il diffuse la lumière dans le volume au lieu de l’absorber. Mettre la dispersion volumétrique sur votre objet est comme  le transformer en un nuage : La lumière passe à travers et autour de l’objet.

Attention toutefois, il va considérablement augmenter le temps de rendu :)

usage_volscat-673x118.jpg

Exemples d’utilisation : Make a Grassy Meadow Scene, How to Make Clouds with Cycles

 

Propriétés

volume_scatter-673x378.png

Density(Densité)

Cette propriété contrôle comment l'épaisseur du volume apparaît plus cette valeur est importante , et moins la lumière passera à travers..

compare_volscat_density.gif

Quand la valeur est au plus haut, vous pouvez voir que ça ressemble à un shader diffuse C’est parce que la lumière peine à entrer dans le volume a cause de l'épaisseur de celui ci.

Anisotropy

Cette propriété peut paraître étrange à première vue, Mais rappelez vous que l’ anisotropy est simplement “La propriété d’être dépendant de la direction” (Wikipedia). Cela signifie que  cette propriété contrôle la façon dont l’objet va apparaître en fonction de la direction de la lumière et de la caméra..

Les valeurs négatives diffuseront la lumière vers l’arrière du volume, alors que des valeurs positives diffuseront la lumière vers l’avant

Cela signifie que si la lumière et la caméra pointent dans la même direction (comme le flash d’un appareil photo), le volume sera davantage visible avec une valeur d’anisotropie négative. Si la lumière et la caméra pointent dans des directions opposées (comme si nous regardions dans le soleil), le volume sera davantage visible avec des valeurs positives. Voici une petite démonstration visuelle ci-dessous :

compare_volscat_anisotropy.gif

See the Blender Wiki for more.

(NdT : avec un anisotropy a 1 la couleur utilisé sur l’espace colorimétrique RVB affichera celle diamétralement opposé. exemple pour un magenta la couleur diffusé sera un vert)


Mix Shader

mix.jpg

Ce que ça fait: Combine deux shaders ensemble.

A utiliser pour: presque tout. Il mélange les propriété de deux shaders ensemble, ce qui est important dans le monde réel.

Dans le monde réel, presque aucun matériau existant ne possède la qualité d’un seul shader. C’est un mix de plusieurs propriétés.

Par exemple, Une tasse à café en céramique a un shader diffuse bien sùr, mais il est aussi brillant, donc il y a un shader glossy également.

cup_render_and_node_screenshot-673x849.png

Votre bureau en bois pourrait être décomposé de la même façon - le bois lui-même est surtout diffus, mais possède aussi une surface brillante rugueuse qui lui est propre.

wood_render_and_node_screenshot-673x776.png

Même un morceau de verre épais n'est pas seulement réfléchissant et transparent - il est également légèrement brumeux à l'intérieur (absorption de volume).

thick_glass_render_and_screenshot1-673x1038.png

Add Shader

add.jpg

Ce que ça fait : : Combine des shaders ensemble et ajoute leurs valeurs de luminosité (cassant de ce fait les lois physiques)

Utiliser pour : : Matériaux spécifiques, non photoréalistes, qui ont besoin d’avoir leur valeur de luminosité combinée ensemble.

Dans le monde réel, la quantité de lumière qui rebondit sur une surface ne peut pas être supérieure à la quantité de lumière qui frappe cette surface la première fois. Mais avec le Add Shader, nous pouvons l’autoriser.

Si nous ajoutons un shader Diffuse et Glossy ensemble, nous obtenons un double montant d’énergie par rapport à la situation initiale, ce qui est physiquement impossible. Mais c’est utile pour certains matériaux dans le cas où vous souhaitez combiner par exemple des shaders de verre rouge, vert et bleu pour créer un effet de dispersion.  

usage_add.jpg

A gauche : le Add Shader combine un shader Diffuse et un Glossy (A ne pas faire, l’énergie n’est pas conservée) ; à droite : Avec un Mix Shader, physiquement correct (à faire).

Si ce shader est si diabolique, pourquoi existe-t-il ? Eh bien, ne disons pas qu’il est diabolique, mais juste mal compris ;-)

Il peut-être utilisé pour certains endroits, mais seulement si vous savez ce que vous faîtes (ou si vous souhaitez intentionnellement casser les règles  pour des raisons de libertés artistiques)

Les situations où vous pourriez utiliser ce shader :


Bien, ce sera tout les amis ! J’espère que vous avez maintenant une meilleure compréhension de ce que font les shaders de Cycles.

ndA :

Got a suggestion for how this article could be improved? Let us know in the comments below! http://www.blenderguru.com/articles/cycles-shader-encyclopedia/

PS. Blender Guru is looking for new authors! Click here to apply.

PPS: If you’re looking for a crazy in-depth book that covers absolutely everything to do with Cycles, check out BlenderDiplom’s Cycles Encyclopedia.

                                                          

                                 

Traduction en Français par Kevin Megel ; Sébastien Sauvage ; Thibaud Sertier