Le PBR (Physically Based Rendering) est une approche de rendu 3D qui simule le comportement réel de la lumière sur les matériaux. Au lieu de « tricher » artistiquement, le PBR utilise des paramètres basés sur la physique pour obtenir des résultats cohérents et réalistes sous n’importe quel éclairage.
Le principe
Dans le monde réel, la lumière interagit avec les surfaces selon des lois physiques précises. Le PBR reproduit ces lois :
- Conservation de l’énergie : une surface ne peut pas réfléchir plus de lumière qu’elle n’en reçoit
- Fresnel : les réflexions sont plus fortes en angle rasant
- Micro-facettes : les surfaces rugueuses diffusent la lumière
Résultat : un matériau PBR paraît correct dans n’importe quelle scène, de jour comme de nuit.
Avant le PBR vs Avec le PBR
| Ancien workflow | PBR |
|---|---|
| Paramètres artistiques arbitraires | Paramètres basés sur la physique |
| Matériaux à recaler selon l’éclairage | Matériaux cohérents partout |
| Diffuse + Specular séparés | Albedo + Metallic + Roughness |
| Résultats incohérents | Résultats prévisibles |
| Chaque artiste fait différemment | Workflow standardisé |
Les paramètres fondamentaux
Le PBR moderne repose sur quelques paramètres clés :
Albedo (Base Color)
- Couleur de base du matériau
- Sans ombres, sans reflets cuits
- Valeurs réalistes : jamais noir pur ni blanc pur
Metallic Metallic Le Metallic (ou Metalness) est un paramètre fondamental des matériaux PBR qui détermine si une surface se comporte comme un... Voir la définition complète →
- Le matériau est-il métallique ?
- Valeur binaire : 0 (non-métal) ou 1 (métal)
- Change le comportement des réflexions
Roughness Roughness Paramètre PBR contrôlant la rugosité d'une surface. Une valeur basse donne un aspect lisse et réfléchissant, une valeur haute un aspect mat et diffus. Voir la définition complète →
- Rugosité de la surface
- 0 = lisse (miroir), 1 = rugueux (mat)
- Contrôle la netteté des reflets
Normal Map Normal Map Texture RGB qui simule des détails de relief sans ajouter de géométrie. Chaque pixel encode une direction de normale, créant l'illusion de bosses et creux. Voir la définition complète →
- Simule les détails de surface
- Ajoute du relief sans géométrie
- Texture RGB encodant les directions
Ambient Occlusion (AO)
- Ombres dans les recoins
- Assombrit les zones où la lumière pénètre mal
- Texture en niveaux de gris
Le workflow Metal/Roughness
Le workflow standard aujourd’hui :
Albedo (RGB)
+
Metallic (Grayscale)
+
Roughness (Grayscale)
+
Normal (RGB)
+
AO (Grayscale, optionnel)
=
Matériau PBR complet
C’est le workflow utilisé par Blender, Unreal, Substance, et la majorité des logiciels modernes.
Workflow alternatif : Specular/Glossiness
Un ancien workflow encore utilisé parfois :
Diffuse (RGB)
+
Specular (RGB)
+
Glossiness (Grayscale, inverse de Roughness)
Moins intuitif mais offre plus de contrôle sur la couleur des reflets. Unity (ancien) et certains jeux l’utilisent encore.
Conservation de l’énergie
Principe fondamental du PBR :
Une surface ne peut pas renvoyer plus de lumière qu’elle n’en reçoit.
Concrètement :
- Plus un matériau est réfléchissant, moins il est diffus
- Plus il est rugueux, plus les reflets sont étalés (mais même quantité totale de lumière)
- Un matériau 100% réfléchissant n’a aucune couleur diffuse
Le shader PBR gère ça automatiquement.
L’effet Fresnel
Observation physique reproduite en PBR :
- De face, les surfaces réfléchissent peu
- En angle rasant, elles réfléchissent beaucoup
Exemple : regardez une table en bois de face (mat), puis en rasant (reflets visibles).
Les métaux ont un Fresnel moins prononcé que les non-métaux. Le shader PBR calcule ça automatiquement selon la valeur Metallic.
Dans les logiciels 3D
Le PBR est maintenant universel :
- Blender : Principled BSDF
- Maya/Arnold : aiStandardSurface
- 3ds Max/V-Ray : VRayMtl avec paramètres PBR
- Substance Painter : Workflow PBR natif
- Unreal Engine : Default Lit Material
- Unity HDRP : Lit Shader
- Marmoset Toolbag : PBR Shader
Focus Blender : Principled BSDF
Le Principled BSDF est le shader PBR de Blender. Un seul node qui gère tout :
Paramètres principaux
| Paramètre | Rôle |
|---|---|
| Base Color | Albedo / couleur de base |
| Metallic | 0 = diélectrique, 1 = métal |
| Roughness | 0 = lisse, 1 = rugueux |
| IOR | Indice de réfraction (verre, eau) |
| Alpha | Transparence |
| Normal | Input pour normal map |
| Emission | Lumière émise par le matériau |
Paramètres avancés
| Paramètre | Rôle |
|---|---|
| Specular | Force des reflets (non-métaux) |
| Specular Tint | Teinte les reflets avec l’albedo |
| Anisotropic Anisotropic Type de réflexion directionnelle qui étire les reflets dans un sens, visible sur le métal brossé, les cheveux, ou les disques vinyles. Voir la définition complète → | Reflets directionnels (métal brossé) |
| Sheen | Reflets de bord (tissu, velours) |
| Clearcoat | Couche vernie par-dessus (voiture) |
| Subsurface | Diffusion sous la surface (peau, cire) |
| Transmission | Transparence type verre |
Setup basique
Plastique rouge :
Base Color : Rouge
Metallic : 0
Roughness : 0.4
Chrome :
Base Color : Blanc/gris clair
Metallic : 1
Roughness : 0.05
Or :
Base Color : RGB (1.0, 0.78, 0.34)
Metallic : 1
Roughness : 0.2
Bois :
Base Color : Texture bois
Metallic : 0
Roughness : 0.5 - 0.7
Normal : Normal map grain du bois
Textures PBR : où les trouver
Gratuites :
- Poly Haven — CC0, haute qualité
- ambientCG — CC0, grande variété
- Textures.com — freemium
Payantes / Pro :
- Quixel Megascans — gratuit avec Unreal
- Substance 3D Assets
- Poliigon
Créer des textures PBR
Substance Painter
L’outil de référence :
- Importez votre mesh
- Bakez les maps (AO, Curvature, Normal…)
- Peignez vos matériaux
- Exportez les textures PBR
Photographie (Photogrammetry)
Pour des textures ultra-réalistes :
- Photographiez un matériau en lumière diffuse
- Générez les maps avec des outils (Materialize, Bitmap2Material)
- Nettoyez et ajustez dans Photoshop
Procédural dans Blender
Créez des matériaux sans textures :
- Utilisez les nodes procéduraux (Noise, Voronoi, Brick…)
- Connectez aux entrées du Principled BSDF
- Avantage : résolution infinie, pas de tiling visible
PBR et jeux vidéo
Le PBR est devenu le standard du jeu vidéo moderne :
- Cohérence : les assets de différents artistes s’intègrent naturellement
- Réutilisabilité : un asset fonctionne dans n’importe quel éclairage
- Temps réel : les shaders PBR sont optimisés pour le GPU
- IBL : l’éclairage par HDRI renforce le réalisme
Unreal et Unity utilisent le PBR par défaut.
Valeurs PBR réalistes
Pour un résultat crédible, respectez ces règles :
Albedo
- Jamais noir pur (minimum ~0.02)
- Jamais blanc pur (maximum ~0.9)
- Valeurs typiques : 0.1 – 0.8
Metallic
- Toujours 0 ou 1 (sauf transitions)
- Pas de valeurs intermédiaires sur une surface uniforme
Roughness
- Rarement 0 parfait (rien n’est un miroir parfait)
- Minimum réaliste : 0.02 – 0.05
- Variez sur la surface (usure, saleté)
Erreurs courantes
Albedo trop sombre ou trop clair
- Noir pur ou blanc pur = non physique
- Solution : restez dans les plages réalistes
Metallic à 0.5 partout
- Aucun matériau réel n’est « à moitié métal »
- Solution : 0 ou 1, les transitions uniquement pour la saleté/usure
Ombres cuites dans l’albedo
- L’albedo doit être la couleur pure, sans ombres
- Solution : nettoyez les textures, utilisez l’AO séparément
Roughness uniforme
- Aspect plastique, artificiel
- Solution : ajoutez des variations (grunge, usure, fingerprints)
Pas de normal map
- Surface trop lisse, manque de détails
- Solution : ajoutez une normal map même subtile