Shader de peau réaliste

Document sans nom

Shader de peau réaliste avec les textures procédurales

Niveau :


Introduction

Nous allons voir comment créer un shader de peau réaliste avec Blender en utilisant uniquement des textures procédurales.
Tout sera expliqué au long de ce tutoriel en espérant ne rien avoir oublié.
Bon blend à tous :)

Etape 1 : Préparons notre scène

Passez en vue de face (touche numérique 1) et cliquez sur le menu Add ou appuyez sur la touche espace puis Add.
Choisissez Mesh / Monkey.
Faites un zoom pour voir Suzanne et passez dans la fenêtre Editing (touche F9).
Cliquez sur Subsurf pour subdiviser et lisser le mesh et réglez la subdivision de rendu sur 2.
Enclenchez le bouton Optimal pour optimiser l'affichage du mesh.
Puis cliquez sur Set Smooth pour obtenir un affichage lissé du mesh.
Sortez de l'Edit Mode puis appuyez sur la touche espace et sélectionnez le menu Add puis choisir Lamp / spot.
Déplacez ce spot sur l'axe Y (G / Y) puis appliquez une rotation vers la gauche sur l'axe Z (R / Z) pour l'amener dans l'axe de l'oeil droit.
Ajoutez un autre spot : touche espace, sélectionnez le menu Add puis Lamp / spot.
Déplacez ce spot sur l'axe Y (G / Y) puis appliquez une rotation vers la droite sur l'axe Z (R / Z) pour l'amener dans l'axe de l'oreille.
Ajoutez une lampe : touche espace, sélectionnez le menu Add puis Lamp / Lamp.
Positionnez-la en avant et sur la droite de Suzanne.
Voici ce que vous devriez voir en Top View (touche numérique 7) :

Affichez la barre Shading / Lamp buttons pour régler les lumières.
Activez le bouton Sphere pour adoucir les ombres dans un rayon limité.
Puis réglez la distance sur 6.
Sélectionnez le spot de face et réglez le paramètre Energy sur 0.8.

Ajustez votre caméra de façon à obtenir un résultat similaire au rendu suivant (touche F12) :


Etape 2 : Passons maintenant au coeur de ce tutoriel, le shader

Sélectionnez Suzanne et allez dans la fenêtre Shading (touche F5), ajoutez un nouveau matériel au mesh (bouton Add New) et nommez-le Skin_Shader.
Voici le premier réglage du shader : la couleur de base de la peau.
Les valeurs sont les suivantes: R=1.00, G=0.75, B=0.50 .
Ensuite réglez la Spéculaire sur 0.245.
Puis le Hard sur 12.

Faites un rendu pour voir ces premiers réglages (touche F12)


Etape 3 : Simulation du relief des pores de la peau


Ajoutez une première texture au shader. Allez dans l'onglet Texture de votre shader Skin_Shader et cliquez sur le bouton Add New.
Nommez cette première texture Skin_bump et allez dans le fenêtre d'édition des paramètres de texture (touche F6).
Choisissez une texture Clouds.
Sélectionnez l'option Voronoï F2-F1.
Réglez noise size sur 0.050.
Passez le noise depth à 3.

Retournez à la fenêtre d'édition des paramètres de votre shader (touche F5).
Dans le panneau Map Input, appliquez un mappage Object à la texture Skin_bump.
Dans le panneau Map To, désactivez le canal Col et enclenchez le canal Nor.
Ensuite réglez la profondeur du canal Nor sur 0.20. Ceci permettra d'obtenir un résultat plus lisse et moins prononcé.

Nouveau rendu (touche F12)

On peut voir sur le rendu que la texture est trop grossière. Il faut la diminuer, nous allons donc régler ça.
Réglez chaque canal size sur 3.5 et faites un nouveau rendu (touche F12).

Le résultat est plutôt satisfaisant :)

Etape 4 : Simulation des veines de la peau

Dans l'onglet Texture de votre shader Skin_Shader sélectionnez un nouveau canal de texture et cliquez sur le bouton Add New.
Nommez cette nouvelle texture Skin_veins.
Allez dans le fenêtre d'édition des paramètres de texture (touche F6).
Réglons-la sur un marble procédural.
Enclenchez les boutons Sharper et Hard Noise.
Réglez le noise size sur 1.250.
Passez le noise depth à 3.
Et réglez la turbulence sur 20.0.

Retournez à la fenêtre d'édition des paramètres de votre shader (touche F5).
Ne touchez rien dans le panneau Map Input
Activez le bouton Neg dans le panneau Map To.
Les paramètres de couleur pour obtenir un vert bleuté sombre style veines seront les suivants : R=0.000, G=0.250, B=0.140 .
Note : pas la peine d'être super exact sur ces réglages car la texture apparaitra comme sous la peau :)
Pour en finir avec cette texture, réglez le canal Col sur 0.275. Nous ajusterons ce paramètre plus tard si besoin.

Refaites un rendu (touche F12)

Vous voyez les veines qui parcourent le visage ? Ca rend pas mal hein ! :)


Etape 6 : Skin SSS

Il est temps d'en finir avec les textures en ajoutant la 3ème : Skin_SSS.
Cette texture va nous permettre 2 choses :
1 - Simuler les taches de rousseurs de la peau.
2 - Simuler le Sub-surface scattering
.

Note : le Sub-surface scattering est l'effet d'une transluscence qui apparaît lorsque la lumière traverse les premières couches de la peau.
Cet effet doit être simulé afin d'obtenir le plus de réalisme possible pour notre shader.

Dans l'onglet Texture de votre shader Skin_Shader sélectionnez un nouveau canal de texture et cliquez sur le bouton Add New.
Nommez cette nouvelle texture Skin_SSS et passez au réglage de cette dernière texture (touche F6).
Sélectionnez une texture Clouds.
Réglez le noise size sur 0.050.

Nous allons utiliser un color ramp pour cette texture.
Les ramps se comportent comme des dégradés de couleurs. Ils sont très pratiques et relativement simples à mettre en oeuvre.
Mais avant de faire le réglage, quelques explications sont nécessaires.

Définition : ce dégradé se comporte de la manière suivante :
- à droite se trouve la couleur la plus à l'intérieur de la texture, ici, ce sera la couleur du centre d'un nuage.
- à gauche se trouve la couleur la plus à l'extérieur de la texture, dans notre cas, celle la plus au bord d'un nuage

Comme la texture clouds est une texture procédurale répétitive, le résultat donnera un ensemble de tâches qui varieront de la couleur de droite à celle de gauche en passant par toutes les autres couleurs que vous insérerez entre les deux.

Sélectionnez l'onglet Colors et cliquez sur Colorband.
Réglons le alpha de la couleur noire sur 0.5. Ceci nous donnera une texture à demi transparente.
Püis changeons la couleur pour un rouge pur, valeurs : R=1.00, G=0.00, B=0.00 .

Sélectionnez ensuite la couleur de droite. Vous pouvez le faire soit directement avec la souris, soit en déplaçant le cursuer Cur de 0 à 1 où 0 et 1 sont les indices correspondant aux couleurs du dégradé de gauche à droite.
Changez la couleur en un blanc pur : R=1.00, G=1.00, B=1.00 .
Et la valeur alpha sur 0.5.

Ajoutez maintenant un nouveau curseur de couleur en cliquant sur Add.
Passez le alpha sur 0.5.
Puis réglez la couleur de ce curseur sur un orangé : R=1.00, G=0.50, B=0.00 .
Pour en finir avec le color ramp, enclenchez le mode de transition sur S.

Retournez à la fenêtre d'édition des paramètres de votre shader (touche F5).
Dans le panneau Map Input changez le mappage sur Object.
Puis activez le canal Emit dans le panneau Map To.
Pour finir, diminuez la valeur du canal Col à 0.250 environ.
Et diminuez la valeur du canal Emit sur environ 0.175.

Lançons un nouveau rendu (touche F12)

Et voilà ! Sympa, hein ?
Non ? Vous trouvez pas que c'est réaliste ? Aïe !
Et bien vous avez raison, ce n'est pas fini ! :) (j'entends d'ici les soupirs de soulagement ainsi que les râles sur mon humour à 2 cents)

Bien ! Je vous avais gardé le meilleur pour la fin ! C'est maintenant que vous allez voir le petit truc qui fait la différence.

Pour simuler la peau humaine, il faut simuler l'effet de la lumière qui traverse les couches de peau selon son angle d'incidence sur celle-ci.
En effet, là où la peau est éclairée, on tend vers une couleur "froide" selon un type de peau "européen standard". Plus on va vers les zones non éclairées plus on va vers une couleur "chaude" puis vers le noir.
La couleur froide correspond à une couleur blanc-bleutée, la couleur chaude à une couleur rouge vif.
Pourquoi je vous raconte tout ça me direz-vous ? Et bien c'est de cette manière que nous allons simuler cet effet de lumière grâce aux Ramps Shader.


Etape 7 : Ramps Shader


Allez dans l'onglet Ramps de votre shader et cliquez sur Show Col Ramp puis sur Colorband.
Le principe des Ramps Shader est semblable aux dégradés de couleurs des textures, à quelques nuances près.
A gauche nous avons le côté "nuit", c'est à dire le côté qui n'est pas éclairé. Il est donc normal d'avoir une couleur noire ici.
A droite se trouve le côté "jour", le côté directement exposé à l'impact de la lumière sur la peau.
Nous allons donc appliquer le principe que je vous ai expliqué juste avant dans ce dégradé qui affecte directement la couleur de notre shader.
Changeons d'abord la valeur du canal alpha pour le côté "nuit" sur une opacité totale (1.00).

Puis ajoutons un curseur pour faire notre "zone de transition" entre le "jour" et la "nuit". Pour cela cliquez sur Add.
Pour avoir une couleur "chaude" donnons lui une couleur rouge pur.
Sélectionnez ensuite la transition S. Amusez-vous 2 minutes à changer le mode de transition en regardant ce que ça donne sur le shader.
Nous n'avons pas besoin de changer la couleur du côté "jour" car ce bleu correspond parfaitement à une couleur "froide".
Passons maintenant à l'application de ce dégradé sur notre shader en sélectionnant le type Energy.
Grâce à ce réglage, le dégradé réagira à la quantité d'éclairage que recevra l'objet.
Seulement la couleur de notre shader est celle du dégradé selon la lumière ! Il faut changer ça car nous voulons garder la couleur de base que nous avons donné à notre shader au début de ce tutoriel !
Nous allons donc changer la méthode d'application du dégradé en choisissant un Add.

Et enuite faire un petit rendu histoire de voir ce que ça donne (touche F12).

Ah ! Voilà qui est déjà mieux...

Allez, nous y sommes presque ! Encore un ou deux petits réglages et je ne vous embête plus !
Réglez la Translucency sur 0.25. Cela va simuler un éclairage de la peau par l'intérieur.
Nouveau rendu (touche F12).

A l'impact de la lumière sur la peau celle-ci a tendance à tirer sur le bleu violacé. Il faut régler ceci en ajoutant un Specular Ramp pour la zone de spécularité.
Cliquez sur Show Spec Ramp puis sur Colorband.
Nous garderons les couleurs telles quelle en réglant toutefois le alpha du noir sur 1.0.
Le mode de transition toujours sur S.
Mais cette fois-ci nous appliquerons le dégradé sur le canal Normal.
Et la méthode Add, comme pour le Color Ramp.

Faites de nouveau un rendu (touche F12).

Nous voyons que notre peau est un peu trop réfléchissante, comme huilée.
Diminuez donc la valeur du Ref sur 0.700.
Puis refaites un rendu (touche F12).

Là c'est mieux, plus "soft".
Il ne faut pas oublier que la peau contient de la graisse, donc il ne faut pas supprimer complètement cet effet "huilé".


Etape 8 : Toon Shading


Pour en finir avec ce tutoriel il y a un dernier paramètre que l'on peut modifier, ceci n'étant pas obligatoire.
Passons donc en Toon Shading si vous le voulez bien.
Puis ajustons les réglages...
Je ne vous donnerai pas de valeurs précises, ceci étant à titre d'essai.
Cependant libre à vous de prendre les mêmes que moi pour l'exemple :

Ces réglages me semblent satisfaisants ! Faisons un rendu avec l'OSA pour adoucir l'image (touche F12).

Le résultat est un peu trop lumineux...
Baissons le Ref... Passons sur une valeur de 0.500.


Conclusion


Et voilà notre résultat final.
Nous avons un shader de peau qui réagit en fonction de la quantité de lumière qu'il reçoit ainsi que selon l'angle d'incidence d'après la position de la lumière.

J'espère que ce tutoriel vous sera utile pour la suite, que vous avez pu suivre sans problème de compréhension et surtout que vous avez passé en agréable moment !

Bien entendu ce tutoriel reste évolutif, je vous ai présenté le résultat de mes essais personnels sur le sujet. Libre à vous, et je vous y encourage vivement, de modifier, trafiquer, bidouiller afin d'obtenir le résultat que vous souhaitez pour votre scène !

Télécharger le tutoriel au format PDF
Télécharger le .blend

 

tutoriel rédigé pour le Blender Clan par Messiah,
retranscrit du Flash par Babynou le 27 mars 2006

    


Les commentaires appartiennent à leurs auteurs. Nous ne sommes pas responsables de leur contenu.
Auteur Conversation
timeman13
Fou Furieux du Clan


Inscrit le: 27/4/2011
De: la 604ème dimension.
Envois: 268
 Re: Shader de peau réaliste 9/7/2011 9:43  Mis à jour: 9/7/2011 9:43

Wahou pas mal ce tuto, très utile pour texturer avec un effet réel des personnages.
Mais ces textures marchent aussi dans le game blender?

 

Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[9] 88 5935 Hier 10:23:18
moonboots 
Python & Plugins ardoise 3D en add-on? 2 87 07/05 14:18:47
neonclignote 
Questions & Réponses [résolu] Transparence et Dynamic Paint pour un tag 3 558 07/05 11:16:23
CBY 
Questions & Réponses [non résolu] Dynamic paint + particle 2 80 06/05 18:39:49
Jeanclaude25 
Questions & Réponses [résolu] Lier visibilité et rendering 4 999 06/05 10:32:29
Melodicpinpon 
Questions & Réponses Text comme screen overlay 4 106 06/05 09:50:17
Melodicpinpon 
Moteur de jeu GameBlender et alternatives [WIP] Jeu "Collapsing - Quandore's Fate"    [1][2][3]...[5] 46 19461 06/05 09:36:54
Redstar 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[54] 532 157449 06/05 09:32:25
Redstar 
Questions & Réponses Driver sur la résolution de caméra 0 29 06/05 09:31:45
Melodicpinpon 
Questions & Réponses Utiliser Particle Mirror 0 31 06/05 08:24:08
Horemheb 
Questions & Réponses Reset radius de plusieurs nodes à 1 0 48 05/05 10:32:48
Melodicpinpon 
Le coin des geeks Votre avis sur un gadget 0 71 05/05 09:52:39
Redstar 
Questions & Réponses Hook et proportional editing sur courbe 1 49 05/05 08:09:29
Melodicpinpon 
Python & Plugins Vegetation addon - tree, animation et plus ! 5 929 04/05 20:59:52
ferrari6 
Python & Plugins [WIP] Transportation Add-on pour Blender    [1][2] 10 2511 04/05 20:57:01
ferrari6 
Questions & Réponses Occlusion ambiante dans 2.80 et plus avec eevee 1 105 04/05 17:14:51
jcnouveau 
Questions & Réponses [résolu] Driven Camera Black out 1 74 03/05 18:40:08
Melodicpinpon 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Version alpha disponible + discord    [1][2][3]...[66] 655 132376 02/05 08:46:51
Hook 
Questions & Réponses Problème clefs de mouvements verrouillées 2 284 30/04 11:24:09
Lylo 
Questions & Réponses Edit destructif 1 238 29/04 21:40:49
WinZs 

Qui est en ligne
124 utilisateur(s) en ligne (dont 1 sur Tutoriels)

Membre(s): 0
Invité(s): 124


plus...
Nouveaux membres

Nemo
11/3/2021
qingjie 10/3/2021
Kask909 9/3/2021
marie-antoinette 7/3/2021
Bugs 7/3/2021
lolorogli75 4/3/2021
Flagiel 4/3/2021
thedeathclown 1/3/2021
Littlespoon 28/2/2021
luxperpetua 27/2/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Mai 18
Anniversaire Luneo
Jui 30
Anniv des Jedi :-D
Jui 10
BUG de Lyon
plus 256 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445