Cette fonctionnalité apparaît à la fois dans l'Unreal Engine et dans l'Unreal Editor pour Fortnite (UEFN).
Comme cette page a d'abord été écrite pour l'Unreal Engine, certaines descriptions et images peuvent ne pas correspondre à ce que vous voyez dans l'UEFN.
Cliquez aquí pour retourner sur le site de la documentation de l'UEFN.

Ce document a pour but de fournir des directives et des bonnes pratiques pour travailler avec le système Matériaux physiques d'Unreal Engine. Il suppose que vous êtes déjà familier du processus de création de matériaux dans Unreal. Si vous êtes totalement novice en matière de matériaux dans Unreal, vous préférerez peut-être commencer par la page [Concepts essentiels de matériau] (designing-visuals-rendering-and-graphics/materials/essential-concepts).
Cette page se concentre uniquement sur les attributs du matériau qui sont directement liés au flux de travail de l'ombrage basé sur la physique. Pour une description complète de toutes les entrées sur le nœud Matériau principal, voir la page Entrées de matériau.
Que signifie physique ?
Rendu physique (PBR) signifie que les surfaces se rapprochent de la façon dont la lumière se comporte dans le monde réel, par opposition à la façon dont nous pensons intuitivement qu'elle devrait se comporter. Les matériaux qui respectent les principes du PBR sont plus précis et ont généralement un aspect plus naturel qu'un flux de travail d'ombrage qui repose entièrement sur l'intuition de l'artiste pour définir les paramètres.
Les matériaux physiques fonctionnent aussi bien dans tous les environnements lumineux. En outre, les valeurs des matériaux peuvent être moins complexes et moins interdépendantes, ce qui se traduit par un flux de travail de création de matériaux plus convivial. Ces avantages s'appliquent même au rendu non photoréaliste, comme le montrent les films de Pixar [4] et de Disney [3].
Pour un regard technique approfondi sur le modèle de matériaux et d'ombrage basé sur la physique d'Unreal Engine, reportez-vous à cette présentation SIGGRAPH 2.
Attributs de matériau PBR
Ce sont les attributs du matériau qui sont directement liés à l'aspect physique des matériaux Unreal.
Toutes ces entrées sont conçues pour accepter des valeurs comprises entre 0 et 1. Dans le cas de la couleur de base, il s'agit d'une couleur ou d'un échantillon de texture dont les valeurs RVB sont comprises entre 0 et 1.
Les valeurs physiques peuvent être mesurées à partir de matériaux du monde réel. Quelques exemples sont donnés ci-dessous.
Couleur de base
La couleur de base définit la couleur générale du matériau. L'entrée Couleur de base accepte une valeur Vector3 (RGB) où chaque canal est automatiquement fixé entre 0 et 1.

Si elle est prise dans le monde réel, c'est la couleur lorsqu'elle est photographiée à l'aide d'un filtre polarisant (la polarisation supprime le spéculaire des non-métaux lorsqu'ils sont alignés).
Valeurs de BaseColor mesurées pour les non-métaux (intensité uniquement) :
Matériau | Intensité de la couleur de base |
---|---|
Charbon | 0.02 |
Asphalte frais | 0.02 |
Asphalte usé | 0.08 |
Sol nu | 0.13 |
Herbe verte | 0.21 |
Sable du désert | 0.36 |
Béton frais | 0.51 |
Glace d'océan | 0.56 |
Neige fraîche | 0.81 |
Couleurs de base mesurées pour les métaux :
Matériau | Couleur de base (R, G, B) |
---|---|
Fer | (0.560, 0.570, 0.580) |
Argent | (0.972, 0.960, 0.915) |
Aluminium | (0.913, 0.921, 0.925) |
Or | (1.000, 0.766, 0.336) |
Cuivre | (0.955, 0.637, 0.538) |
Chrome | (0.550, 0.556, 0.554) |
Nickel | (0.660, 0.609, 0.526) |
Titane | (0.542, 0.497, 0.449) |
Cobalt | (0.662, 0.655, 0.634) |
Platine | (0.672, 0.637, 0.585) |
Rugosité
L'entrée Rugosité permet de contrôler le degré de rugosité ou de lissage de la surface d'un matériau. Dans le matériau, cela se manifeste par l'aspect net ou flou des reflets sur le matériau.
Les matériaux rugueux diffusent la lumière réfléchie dans plus de directions que les matériaux lisses, ce qui donne des reflets diffus, parfois subtils. Les surfaces lisses reflètent la lumière de manière plus uniforme, ce qui permet d'obtenir des reflets clairs et précis ou des reflets spéculaires.
- Une rugosité de 0 (lisse) donne lieu à un reflet miroir.
- Une rugosité de 1 (rugueux) donne une surface diffuse ou mate.
Valeurs de rugosité de 0 à 1. En haut, non métallique, en bas métallique.





















Valeurs de rugosité de 0 à 1.
Mappage de rugosité
La rugosité est souvent représentée sur les objets à l'aide d'une texture en niveaux de gris pour ajouter une variation physique à une surface. Les zones sombres sur une carte de rugosité apparaissent comme un miroir sur le matériau, tandis que les zones claires sont rugueuses et apparaissent moins réfléchissantes.
La vidéo ci-dessous montre la valeur de rugosité augmentant de 0 à 1, avec une texture de perlin contrôlant la distribution des valeurs claires (rugueuses) et foncées (lisses). À 0, l'aperçu du matériau présente un effet miroir complet. À 1, le matériau est parfaitement mat. Les valeurs intermédiaires sont plus intéressantes, car certaines parties de la surface apparaissent lisses et d'autres rugueuses.
Les cartes de rugosité sont fréquemment utilisées pour ajouter des éraflures, des taches ou d'autres imperfections à des matériaux comme le plastique et le métal.
Rugosité contre Spéculaire
L'interaction entre la rugosité et le spéculaire est un point important à comprendre, surtout si vous travailliez dans Unreal Engine avant l'adoption du flux de travail PBR.
La Spécularité désigne la quantité de [lumière spéculaire] (https://en.wikipedia.org/wiki/Specular_reflection) réfléchie par une surface. Cette valeur est inhérente au type de matériau, et généralement la valeur par défaut de 0,5 est exacte. L'entrée Spéculaire n'est pas utilisée pour les cartes de réflexion/spécularité ou pour ajouter une variation de surface. Ceux-ci doivent être traités dans la carte de rugosité.
Métallique
L'entrée Métallique accepte une valeur entre 0 et 1, et définit si votre matériau se comporte comme un métal ou un non-métal.
Dans la plupart des cas, vous devez traiter Metallic comme une propriété binaire dans Unreal Engine. Pour les surfaces pures, telles que le métal pur, la pierre pure, le plastique pur, etc., vous devez donner à Métallique la valeur soit 0, soit 1, et rien d'autre. Lorsque vous créez des surfaces hybrides comme des métaux corrodés, poussiéreux ou rouillés, vous pouvez constater que vous avez besoin d'une valeur entre 0 et 1.
- Non-métallique a une valeur métallique égale à 0. Il s'agit de la valeur par défaut.
- Métallique a une valeur métallique égale à 1.

Valeurs métalliques de 0 à 1.
Il se peut que vous hésitiez au début à rendre un matériau entièrement métallique. Résistez à l'impulsion d'utiliser des valeurs partielles, sauf si vous avez une bonne raison.
Cet exemple montre comment une surface change lorsque la valeur de Métal est augmentée de 0 à 1 sur un matériau dont la rugosité est relativement faible.











Valeurs métalliques de 0 à 1.
Mappage métallique
Les métaux et les non-métaux sont souvent présents dans le même matériau. Considérez un panneau métallique, avec une couche de peinture recouvrant tout ou partie du métal.
La peinture étant un non-métal, la valeur Métallique doit être égale à 0 dans toutes les zones couvertes par la peinture. Partout où le panneau métallique est visible, la valeur Métallique doit être égale à 1.
Ceci doit être traité avec un masque noir et blanc passé dans l'entrée Métallique. La peinture ne se fond pas dans le métal, elle le recouvre. Votre carte métallique ne doit pas contenir de valeurs intermédiaires en niveaux de gris, mais uniquement du noir et du blanc. Vous pouvez également utiliser les couches de matériaux pour obtenir des résultats similaires.
Spéculaire
L'entrée Spéculaire prend une valeur entre 0 et 1, et contrôle la quantité de lumière spéculaire que la surface reflète.
- Une valeur spéculaire de 0 est totalement non réfléchissante.
- Une valeur spéculaire de 1 est totalement réfléchissante.
Unreal Engine utilise une valeur Spéculaire par défaut de 0.5, ce qui représente environ 4 % de réflexion spéculaire. Cette valeur est précise pour une grande majorité de matériaux.
Pour les matériaux très diffus, vous pouvez être enclin à régler cette valeur sur zéro. Résistez ! Tous les matériaux ont une valeur spéculaire, voir ce post pour des exemples [5] . La manière correcte de créer des matériaux très diffus est d'utiliser une valeur de rugosité élevée.
Cartes de cavité
Une raison de modifier la valeur Spéculaire est d'ajouter une micro-occlusion ou une ombre à petite échelle, par exemple à partir de fissures représentées dans la carte normale. On les appelle parfois des cavités. La géométrie à petite échelle, en particulier les détails présents uniquement dans le nombre élevé de polygones et prégénérés dans la carte normale, ne sera pas prise en compte par les ombres en temps réel du moteur de rendu.
Pour capturer cette ombre, vous pouvez générer une carte de cavité, qui est généralement une carte AO avec une distance de trace très courte. Cette valeur est multipliée par la Couleur de base finale avant la sortie et multipliée par 0,5 (valeur par défaut Spéculaire) comme sortie Spéculaire.
Pour être clair, ceci est BaseColor = CavityOldBaseColor, Specular = Cavity0.5.
Pour une utilisation avancée, cela peut être utilisé pour contrôler l'indice de réfraction (IOR). Nous n'avons pas constaté que cela était nécessaire pour 99 % des matériaux. Les valeurs spéculaires ci-dessous sont basées sur l'IOR mesuré.
Valeurs spéculaires mesurées :
Matériau | Spéculaire |
---|---|
Verre | 0.5 |
Plastique | 0.5 |
Quartz | 0.570 |
Glace | 0.224 |
Eau | 0.255 |
Lait | 0.277 |
Peau | 0.35 |











Valeurs spéculaires de 0 à 1

Exemple de matériaux mesurés. En haut : Charbon, béton frais, asphalte usé. En bas : Cuivre, fer, or, aluminium, argent, nickel, titane
Références
1. Lagarde, Transmission d'un modèle d'ombrage physique
2. Karis, Ombrage réel dans Unreal Engine 4
3. Burley, Ombrage physique chez Disney
4. Smits, Conception du modèle de réflexion pour WALL-E et Up
5. Hable, Tout est brillant