Tous les objets du monde réel ont un certain degré de brillance. Dans certains cas, cette brillance (ou réflectivité) est évidente ; c'est notamment le cas des miroirs, du chrome ou du verre. Dans d'autres cas, elle est plus subtile, notamment en ce qui concerne le bois peint ou la pierre/le béton lisse, mais non poli.
Dans l'Unreal Engine, vous pouvez simuler la brillance des objets à l'aide des commandes de matériau Métallique, Spéculaire et Rugosité. Dans ce didacticiel, nous vous présentons certaines méthodes pour introduire de la brillance dans vos matériaux.
Brillance
Lorsque la lumière atteint une surface dans le monde réel, une partie de la lumière est absorbée, une partie est diffusée et une partie est directement réfléchie. La lumière diffusée est appelée une réflexion diffuse. Dans le monde réel, lorsque vous observez un objet qui ne semble pas réfléchissant, par exemple un tronc d'arbre, vous voyez surtout de la lumière dispersée ou diffuse. La lumière qui est directement réfléchie est appelée réflexion spéculaire. Lorsque votre propre image se reflète sur un robinet chromé ou dans une flaque d'eau, vous observez des reflets spéculaires.
Dans l'Unreal Engine, la brillance n'est pas un concept technique, mais esthétique. Dans ce didacticiel, la brillance désigne la capacité d'une surface à produire des reflets cohérents, semblables à ceux d'un miroir. Les propriétés exactes de ces reflets sont définies par les commandes Métallique, Spéculaire et Rugosité.
Commande Rugosité et brillance
La rugosité joue un rôle majeur dans la détermination de la brillance d'un matériau. La commande Rugosité prend une valeur de 0 à 1.
- Plus la valeur de rugosité est faible, plus le matériau ressemble à un miroir. Lorsque la rugosité est de 0, le matériau se comporte comme un miroir parfait.
- Plus la valeur de rugosité est élevée, moins la surface est brillante. Lorsque la rugosité est de 1, le matériau apparaît totalement diffus.
Voici un exemple de l'incidence de la rugosité sur la brillance d'un matériau. Dans ce cas, la sphère se trouve dans un environnement vide, de sorte que les hautes lumières observées sur le modèle sont un reflet direct de la source lumineuse.
La sphère située à l'extrême gauche a une valeur de rugosité de 0, et la source lumineuse est réfléchie sous la forme d'une haute lumière nette et précise. Lorsque la valeur de rugosité augmente de 0 à 1, la haute lumière devient plus floue et la sphère apparaît moins brillante.
Commande Métallique et brillance
La brillance apparente des objets métalliques est également déterminée par la valeur de rugosité. Des valeurs de rugosité faibles produisent un matériau métallique brillant et des valeurs de rugosité élevées produisent un matériau moins brillant. La principale différence entre un matériau métallique et un matériau non métallique réside dans le mode de calcul de la réflexion spéculaire.
- Lorsque la valeur de la commande Métallique est de 0, les lumières spéculaires réfléchissent la couleur de l'environnement et des sources lumineuses.
- Lorsque la valeur de la commande Métallique est de 1, les lumières spéculaires prennent la couleur de base du matériau.

**Observez la façon dont la couleur des reflets change en fonction de la couleur de base lorsque la valeur de la commande Métallique passe de 0 à 1.
Dans l'exemple suivant, vous observez l'incidence de la valeur de rugosité sur le matériau métallique. Ce matériau a une valeur métallique de 1, qui reste constante sur toutes les images. Une couleur bleue unie est également transmise dans la commande Couleur de base pour montrer l'incidence de la couleur de base sur la couleur des reflets sur un matériau métallique.
Valeurs de rugosité de 0 à 1 sur un matériau métallique.
À l'extrême gauche, la sphère a une valeur de rugosité de 0 et apparaît comme un miroir. Lorsque la valeur de rugosité augmente de 0 à 1, la sphère apparaît moins brillante. Observez l'incidence de la couleur de base du matériau sur la couleur des reflets.
Commande Spéculaire et brillance
Dans 99 % des cas, vous n'aurez pas besoin de régler la commande Spéculaire. La valeur par défaut de 0,5 convient pour la plupart des matériaux.
La commande Spéculaire peut également avoir un effet sur la brillance d'un matériau. Plus la valeur Spéculaire est proche de 1, plus les reflets ou les lumières spéculaires d'un matériau sont brillants et puissants. À l'inverse, plus cette valeur est proche de 0, plus les reflets spéculaires s'affaiblissent, jusqu'à ce qu'ils deviennent pratiquement invisibles.
Dans l'exemple ci-dessous, observez les différences d'intensité des reflets et des lumières spéculaires lorsque la valeur de la commande Spéculaire passe de 0 à 1.
La rugosité a une incidence sur la brillance d'un matériau, indépendamment de la valeur spéculaire. Même si vous réglez la valeur spéculaire sur 1, les lumières spéculaires restent floues jusqu'à devenir invisibles lorsque la valeur de rugosité est de 1. Régler la valeur spéculaire n'a aucun effet sur le matériau si la commande Métallique est activée.
La valeur spéculaire par défaut de 0,5 reproduit fidèlement la spécularité mesurée de la grande majorité des objets du monde réel. Par conséquent, vous ne devriez pas avoir à modifier la valeur spéculaire de la plupart des matériaux que vous créez. Vous pouvez bien entendu augmenter ou diminuer la valeur spéculaire par choix artistique, mais si vous vous éloignez trop de la valeur 0,5, le matériau risque d'être physiquement moins plausible.
Utiliser la brillance dans les matériaux
Procédez comme suit pour créer un matériau brillant.
Dans ce didacticiel, nous utilisons les textures du contenu de démarrage de l'Unreal Engine. Si vous n'avez pas inclus le contenu de démarrage dans votre projet, consultez la page Migrer le contenu pour en savoir plus sur la manière de déplacer du contenu entre les projets. Vous pouvez ainsi ajouter le contenu de démarrage à votre projet actuel.
-
Cliquez avec le bouton droit de la souris dans le navigateur de contenu et choisissez Matériau dans la section Créer une ressource de base du menu contextuel.
-
Nommez le matériau ShinyMaterial, puis double-cliquez sur la vignette pour l'ouvrir dans l'éditeur de matériaux.
-
Une fois le matériau ouvert, ajoutez les nœuds de texture et d'expression de matériau suivants au graphique de matériaux. Les textures se trouvent dans le dossier Contenu de démarrage > Textures du navigateur de contenu.
- Exemple de texture : T_Metal_Gold_D x 1
- Exemple de texture : T_Metal_Gold_N x 1
- Paramètre scalaire x 3
- Multiplier x 1
- Chaque paramètre scalaire doit avoir un nom unique et une valeur par défaut. Sélectionnez chaque paramètre scalaire, puis renommez-le et définissez sa valeur par défaut dans le panneau Détails, comme indiqué ci-dessous.
-
Métallique : valeur par défaut 0
- Spéculaire : valeur par défaut 0,5
- Rugosité : valeur par défaut 0,5

-
-
Reliez tous les nœuds d'expression de matériau à leurs commandes correspondantes sur le nœud de matériau principal. Lorsque vous avez terminé, le graphique des matériaux doit être similaire à celui-ci :
-
Cliquez sur les boutons Appliquer et Enregistrer de la barre d'outils pour compiler le matériau, puis fermez l'éditeur de matériaux.
-
Recherchez la ressource ShinyMaterial dans le navigateur de contenu, cliquez dessus avec le bouton droit de la souris, puis sélectionnez l'option Créer une instance de matériau dans le menu contextuel.
-
Double-cliquez sur l'instance de matériau dans le navigateur de contenu pour l'ouvrir dans l'éditeur d'instances de matériaux. Dans l'éditeur d'instances, activez les trois valeurs des paramètres scalaires globaux en cochant la case en regard de chaque nom de paramètre.
Lorsque l'option Valeurs des paramètres scalaires est activée, vous pouvez modifier les valeurs et afficher immédiatement vos modifications dans le hublot d'aperçu. Par exemple, si vous définissez Métallique sur 1 puis Rugosité sur 0,2, vous obtenez un métal très brillant qui ressemble à de l'or, dont la surface présente des imperfections provenant de la carte de normales.
Si vous augmentez la valeur de rugosité à 0,7, vous constatez que les reflets deviennent flous et que la surface perd un peu de son éclat, mais que les reflets ne disparaissent pas complètement.
Enfin, si vous réglez Métallique sur 0 et Rugosité sur 0,15, la surface ne ressemble plus à du métal, mais plutôt à du plastique ou à de la peinture écaillée.
Conclusion
Lorsque vous configurez la valeur Rugosité pour vos matériaux, n'oubliez pas que la plupart des objets ont un certain degré de brillance. Même les surfaces que l'on ne considère normalement pas comme étant réfléchissantes présentent une lumière spéculaire lorsqu'une source lumineuse suffisamment intense est projetée dessus.
En règle générale, vous devez éviter d'utiliser une valeur de rugosité de 0 ou de 1, mais plutôt définir une valeur qui se situe entre ces deux extrêmes. Les masques de texture sont souvent utilisés pour ajouter des variations et du bruit à la valeur de rugosité. Cela produit des surfaces qui ne sont pas uniformément brillantes ou ternes, mais qui mélangent les deux effets de façon intéressante. Pour en savoir plus sur les masques de texture, consultez cet article.
N'oubliez pas de tenir compte du coût de performance des matériaux réfléchissants et soyez prudent lorsque vous utilisez de nombreuses surfaces métalliques à proximité les unes des autres. Les matériaux peuvent avoir un coût de performance élevé lorsque des objets métalliques se reflètent, ou réfléchissent leurs propres reflets.