Subsurface scattering (SSS) : définition et réglages dans Blender, sous Cycles et EEVEE
En bref
Le subsurface scattering (SSS), ou diffusion sous la surface, désigne la lumière qui entre dans une matière, s’y disperse et ressort ailleurs : c’est l’aspect doux de la peau, de la cire, du lait, du marbre et des feuilles. Dans Blender, ouvrez le groupe Subsurface du Principled BSDF et passez Weight à 1. Base Color donne la couleur de diffusion, Radius la distance pour le rouge, le vert et le bleu, Scale l’échelle de cette distance.
Ne perdez plus de temps sur vos rendus
L'optimisation a ses limites. Quand votre scène Blender devient trop lourde, envoyez-la depuis l'add-on : les images de l'animation sont réparties sur plusieurs GPU.
Menus et valeurs par défaut : interface anglaise de Blender 5.2, vérifiés dans son manuel et son code source. Beaucoup de tutoriels datent d’avant les changements des versions 4.0, 4.2 et 5.2 : chaque partie dit ce qui a bougé.
Qu’est-ce que le subsurface scattering ?
Avec un matériau diffus simple, le moteur de rendu renvoie la lumière depuis le point exact où elle arrive. Sur la peau, la cire, le marbre ou le lait, une partie de la lumière traverse la surface. Le manuel de Blender le décrit ainsi : la lumière pénètre la surface, rebondit à l’intérieur, puis elle est absorbée ou ressort en un point voisin. C’est le subsurface scattering, ou diffusion sous la surface, abrégé en SSS.
L’effet se reconnaît à trois signes : des ombres aux bords doux et légèrement colorés, des parties fines qui s’illuminent à contre-jour (une oreille, une feuille, une bougie) et une couleur qui semble venir de l’intérieur. La distance parcourue dépend aussi de la couleur : dans la peau, le rouge va plus loin que le vert et le bleu, d’où les ombres rougeâtres. Blender règle cette distance séparément pour chaque canal.
Activer le subsurface scattering dans Blender
- Sélectionnez l’objet et ouvrez l’onglet Material de l’éditeur Properties. Cliquez sur New s’il n’a pas de matériau.
- Dans le panneau Surface, dépliez le groupe Subsurface du Principled BSDF, fermé par défaut.
- Passez Weight à 1. Le manuel le présente comme un mélange entre diffus et subsurface, qui vaut en général 0 ou 1.
- Réglez Base Color. Depuis Blender 4.0, c’est aussi la couleur de diffusion : l’entrée Subsurface Color n’existe plus.
- Vérifiez Radius et Scale par rapport à la taille du modèle (voir plus bas).
- Jugez le résultat en mode Rendered (menu circulaire Z), avec le moteur du rendu final.
Dans Blender 3.x, les entrées s’appelaient Subsurface, Subsurface Radius et Subsurface Color, et le manuel 3.6 précise que Subsurface multipliait aussi le rayon. Un tutoriel qui règle Subsurface sur 0,1 s’en sert pour réduire le rayon : depuis la 4.0, laissez Weight à 1 et dosez avec Scale. Pour une peau peinte, Base Color reçoit une image (voir le guide des textures dans Blender).
Les réglages Subsurface du Principled BSDF
| Réglage | Rôle | Par défaut (5.2) | Moteur |
|---|---|---|---|
| Méthode (menu) | Façon de calculer la diffusion | Random Walk | Variantes Random Walk : Cycles |
| Weight | Mélange entre diffus et subsurface | 0 | Cycles et EEVEE |
| Radius | Distance de diffusion du rouge, du vert et du bleu | 1,0 / 0,2 / 0,1 | Cycles et EEVEE |
| Scale | Longueur par laquelle Radius est multiplié | 0,005 m (0,05 m avant la 5.2) | Cycles et EEVEE |
| IOR | Réfraction de la lumière qui entre dans la matière | 1,4, en Random Walk (Skin) seulement | Cycles |
| Anisotropy | Direction de la diffusion à l’intérieur | 0, sans effet en Christensen-Burley | Cycles |
Radius
Radius est la distance moyenne parcourue par la lumière sous la surface, donnée par canal : X, Y et Z correspondent au rouge, au vert et au bleu. Un rayon plus grand adoucit l’aspect, la lumière débordant dans les ombres et à travers l’objet. La valeur par défaut, 1,0 / 0,2 / 0,1, suit déjà le schéma de la peau : le rouge va cinq fois plus loin que le vert et dix fois plus loin que le bleu.
Scale et l’échelle de la scène
La distance réelle vaut Radius multiplié par Scale, et Scale est une longueur : 0,005 m par défaut dans Blender 5.2, soit 5 mm. La taille du modèle compte donc autant que le réglage : sur une tête dix fois trop grande, le même matériau paraît bien plus opaque ; sur un modèle dix fois trop petit, la lumière traverse tout.
Vérifiez la taille dans la barre latérale (N), onglet Item, champ Dimensions. Le Unit Scale de la scène ne change que l’affichage, pas le calcul. Un modèle exporté en centimètres et relu en mètres est 100 fois trop grand : corrigez-le, ou multipliez Scale par le même facteur.
IOR et Anisotropy
IOR, visible seulement en Random Walk (Skin), peut différer de l’IOR principal pour simuler les couches de la peau, indique le manuel. Anisotropy à 0 diffuse la lumière de façon égale dans toutes les directions ; une valeur positive la pousse vers l’avant, une valeur négative la renvoie davantage vers l’arrière (les valeurs négatives sont arrivées avec la 5.2). Le manuel donne 0,8 comme valeur mesurée sur la peau.
Les méthodes : Christensen-Burley, Random Walk, Random Walk (Skin)
| Méthode (Blender 5.2) | Ce qu’en dit le manuel | Pour quoi faire |
|---|---|---|
| Christensen-Burley | Une approximation, moins exacte que Random Walk, qui peut éliminer le bruit plus vite dans certains cas | Les scènes où le bruit tarde à partir |
| Random Walk | Cycles seulement. Vraie diffusion volumique dans le maillage, juste sur les objets fins et courbes, faite pour les maillages fermés | Le cas général : cire, marbre, lait |
| Random Walk (Skin) | Cycles seulement. Rayon ajusté selon la texture de couleur, entrée avec son propre IOR, plus proche de la peau mesurée | La peau |
| Random Walk (Legacy) | Cycles seulement. Une autre correspondance des paramètres, appelée à disparaître | Les fichiers antérieurs à la 5.2 |
Le nom Random Walk a désigné trois méthodes différentes, ce qui explique bien des tutoriels déroutants :
- Blender 3.x : Christensen-Burley, Random Walk (Fixed Radius), et un Random Walk qui ajustait le rayon selon la couleur et l’IOR.
- De la 4.0 à la 5.1 : Random Walk (Fixed Radius) devient Random Walk, et l’ancien Random Walk devient Random Walk (Skin).
- 5.2 : un nouveau Random Walk prend Radius multiplié par Scale comme distance de diffusion, alors que Christensen-Burley et l’ancien Random Walk la divisent par 4π, soit environ 12,6. La valeur par défaut de Scale passe de 0,05 m à 0,005 m. Les fichiers enregistrés avec l’ancien Random Walk s’ouvrent en Random Walk (Legacy) et gardent leur rendu.
Avec le nouveau Random Walk, un Scale recopié d’un tutoriel antérieur à la 5.2 diffuse donc environ 12,6 fois plus loin et paraît bien plus translucide. Divisez-le par 12,6 environ pour retrouver un rendu proche de l’ancien, puis ajustez à l’œil, ou passez en Random Walk (Legacy). Christensen-Burley et Random Walk (Skin) n’ont pas changé.
Le nœud Subsurface Scattering
Dans le Shader Editor, Shift+A, Shader, Subsurface Scattering ajoute un nœud séparé. Il prend Color, Scale (0,005 par défaut), Radius, IOR, Roughness, Anisotropy et Normal, propose les mêmes méthodes et sort un BSSRDF. Roughness, ajouté dans Blender 4.2, apparaît en Random Walk et en Random Walk (Legacy).
Le nœud ne produit que la diffusion, sans la couche spéculaire que le Principled BSDF pose par-dessus. Il sert quand la couleur de diffusion doit différer de celle de la surface ; ajoutez alors les reflets vous-même, par exemple avec un Glossy BSDF et un Mix Shader. Pour la plupart des matériaux, le Principled BSDF reste plus simple.
Le subsurface scattering dans EEVEE depuis Blender 4.2
Jusqu’à la 4.1, EEVEE avait un panneau Subsurface Scattering dans les Render Properties (Samples, Jitter Threshold) et une case Subsurface Translucency dans les Settings du matériau. Les deux ont disparu avec la réécriture d’EEVEE en 4.2 : la translucidité est toujours calculée et il n’y a plus rien à activer.
- Espace écran. D’après son code source, EEVEE floute l’éclairage diffus des pixels visibles pour imiter la diffusion. Il partage donc les limites que le manuel donne pour les effets en espace écran : seul ce qui est à l’image compte, et l’effet peut faiblir au bord du cadre, ce que l’Overscan corrige en partie.
- Plus de fuite. Selon les notes de la 4.2, la diffusion ne déborde plus d’un objet à l’autre, et le nombre de nœuds subsurface comme leurs rayons sont libres.
- Thickness. Pour la lumière qui traverse, EEVEE prend une épaisseur tirée de la plus petite dimension de l’objet. Branchez une valeur sur l’entrée Thickness du Material Output, choisissez Sphere ou Slab dans Settings, Surface, Thickness, ou cochez From Shadow pour l’affiner avec les shadow maps (un coût qui croît avec les échantillons).
- Réglages propres à Cycles. IOR, Anisotropy et les méthodes Random Walk n’ont pas d’effet dans EEVEE. Une exception en 5.2 : EEVEE agrandit le rayon quand la méthode est Random Walk, pour rester cohérent avec Cycles.
Le mode Material Preview tourne toujours sous EEVEE : jugez un matériau Cycles en mode Rendered. Le choix entre les deux moteurs est détaillé dans le guide du rendu dans Blender.
Valeurs de départ pour une peau
- Vérifiez que le personnage est à l’échelle : environ 1,8 unité de haut pour un adulte, 1 unité valant 1 m.
- Weight à 1, méthode Random Walk (Skin), Base Color tirée de la texture de peau.
- Gardez Radius à 1,0 / 0,2 / 0,1 : le rouge doit rester le plus grand.
- Partez du Scale par défaut et ajustez à l’œil. Random Walk (Skin) ajuste aussi le rayon selon la couleur : le même Scale ne donne pas la même profondeur qu’en Random Walk simple.
- Anisotropy à 0,8, la valeur mesurée citée par le manuel ; IOR à 1,4 pour commencer.
Raisonnez en millimètres. Avec la méthode Random Walk de Blender 5.2, les valeurs par défaut de Radius et Scale donnent au rouge une distance de 5 mm, au vert 1 mm et au bleu 0,5 mm. De la 4.0 à la 5.1, Random Walk divisait les 0,05 m par défaut par 4π, ce qui donnait environ 4 mm pour le rouge. Random Walk (Skin) ajuste ensuite ces distances selon la couleur. Une lampe placée derrière le sujet montre bien l’effet, les oreilles se mettant à rougeoyer : le guide de l’éclairage dans Blender explique comment placer une rim light.
Feuilles, papier et objets fins
Une feuille modélisée par un simple plan n’a pas d’intérieur où diffuser. Blender 5.2 a ajouté au Principled BSDF une entrée Thin Wall pour le papier, les feuilles et les vitres : la surface devient une plaque d’épaisseur nulle, et Radius, Scale et la méthode ne s’appliquent plus. Avec Subsurface Weight à 1, la lumière traverse la feuille. Sous EEVEE, le manuel demande alors un Thickness de 0 et le mode Slab. Dans les versions antérieures, le nœud Translucent BSDF ajoute une transmission diffuse.
Erreurs courantes
- Rien ne change : Weight est resté à 0, Scale est minuscule pour le modèle, ou Metallic ou Transmission Weight est à 1. La couche de base est alors entièrement métallique ou transmissive, sans place pour le subsurface.
- L’objet ressemble à de la gelée : la distance de diffusion est trop grande pour le modèle, souvent parce que celui-ci est trop petit ou que Scale vient d’un tutoriel antérieur à la 5.2.
- Zones sombres ou taches en Random Walk : le manuel prévient que les trous et les faces superposées posent problème. En mode Édition, Select, Select All by Trait, Non Manifold montre les trous, et Merge by Distance fusionne les sommets en double. Les faces internes, comme des yeux fusionnés à la tête, coupent aussi la diffusion : dans le code de Cycles, la marche s’arrête à la première face de l’objet.
- Une ligne à la jonction de deux objets : la marche ne quitte jamais l’objet où elle a commencé, la lumière ne passe donc pas d’une tête à un cou séparé. Faites un seul maillage continu, ou cachez la jonction.
- Normales inversées : Cycles ombre une face vue de dos comme si sa normale pointait vers l’observateur, si bien qu’une normale inversée n’empêche pas à elle seule la diffusion. Elle gêne ailleurs, par exemple avec le Backface Culling d’EEVEE. La surimpression Face Orientation montre les faces arrière en rouge ; Mesh, Normals, Recalculate Outside (Shift+N) les remet dans le bon sens.
- Cycles et EEVEE ne donnent pas le même rendu : le manuel rappelle que les shaders d’EEVEE sont des approximations, de petites différences restent donc. Pour les parties fines, vérifiez d’abord le Thickness.
Temps de rendu et bruit dans Cycles
Avec les méthodes Random Walk, chaque fois qu’un chemin entre dans la surface, Cycles trace dans le maillage une marche de courts rayons jusqu’à ce que la lumière ressorte. Les méthodes se distinguent sur la lumière indirecte. Jusqu’à Blender 4.5, dès qu’un chemin avait rebondi sur une surface diffuse, Cycles traitait le subsurface rencontré ensuite comme un simple diffus : un commentaire du code explique que l’effet s’y voit peu et ajoute beaucoup de bruit. Depuis la 5.0, les méthodes Random Walk diffusent aussi sur ces chemins, ce qui réduit les assombrissements, surtout visibles avec un grand rayon, au prix d’un peu de temps de rendu. Christensen-Burley garde le raccourci.
Pour mesurer le coût dans votre scène, rendez la même image avec Weight à 0 puis à 1 et comparez temps et bruit. Ce bruit se traite comme le reste (seuil de bruit, débruitage) : la page accélérer le rendu Blender passe ces réglages en revue. En compositing, le subsurface se retrouve dans les passes Diffuse. Le guide du rendu photoréaliste dans Blender complète la peau avec la lumière et les imperfections.
Questions fréquentes
Qu’est-ce que le subsurface scattering ?
C’est la diffusion de la lumière sous la surface : elle entre dans une matière translucide, s’y disperse et ressort un peu plus loin. Les ombres s’adoucissent et les parties fines s’illuminent à contre-jour. La peau, la cire, le lait, le marbre et les feuilles en sont les exemples classiques. En 3D, on l’abrège souvent en SSS.
Comment activer le subsurface scattering dans Blender ?
Sélectionnez l’objet, ouvrez l’onglet Material et dépliez le groupe Subsurface du Principled BSDF. Passez Weight à 1, choisissez la couleur de diffusion avec Base Color, puis réglez Radius et Scale selon la taille réelle du modèle. Jugez le résultat en mode Rendered.
Pourquoi le subsurface scattering ne fonctionne pas dans Blender ?
Le plus souvent, Weight est resté à 0, sa valeur par défaut, ou Scale est minuscule à l’échelle du modèle, par exemple un personnage importé 100 fois trop grand. Metallic ou Transmission Weight à 1 ne laissent pas non plus de place au subsurface.
Le subsurface scattering fonctionne-t-il dans EEVEE ?
Oui. Depuis Blender 4.2, il est toujours actif et n’a plus de réglage dans les Render Properties : le panneau Subsurface Scattering et la case Subsurface Translucency ont disparu. EEVEE calcule l’effet en espace écran et se sert du Thickness du matériau pour la lumière qui traverse. IOR et Anisotropy ne concernent que Cycles.
Random Walk ou Christensen-Burley : quelle méthode choisir ?
Random Walk, la méthode par défaut, donne des résultats justes sur les formes fines et courbes, à condition que le maillage soit fermé. Random Walk (Skin) ajuste le rayon selon la couleur et vise la peau. Christensen-Burley est moins exacte mais, selon le manuel, peut converger plus vite vers une image sans bruit dans certains cas.
Rendre l'animation sur TURNA
Quand la scène est déjà bien réglée et que c'est le nombre d'images qui prend du temps, le levier restant est de calculer plusieurs images à la fois. TURNA le fait pour Blender : un add-on (Blender 4.0 à 5.2, Cycles et Eevee) envoie la scène en un clic, et les images sont réparties sur 1, 2, 4 ou 8 GPU en parallèle, des RTX 5090 en priorité et des RTX 4090 à défaut. L'add-on affiche le coût estimé avant tout lancement. Le calcul part de 4,90 € l'heure, facturé au temps réellement consommé, 2 minutes minimum (30 secondes jusqu'au 9 novembre), et 25 € sont offerts à l'inscription. Une image fixe reste calculée par une seule machine : le gain porte sur les animations. Les paliers et des exemples chiffrés sont sur la page render farm Blender.



