Le système de matériaux de l'Unreal Engine comprend un éditeur de matériau reposant sur des nœuds. Il permet de relier des textures, des opérations mathématiques, des paramètres et des expressions pour créer l'apparence d'une surface. Le système de matériaux optimise et effectue le rendu des matériaux en temps réel.
Pour un utilisateur Maya, ce flux de travail semble plus similaire à la création de matériaux dans Hypershade, mais avec quelques différences clés.
Les matériaux dans l'Unreal Engine sont construits à l'aide :
d'un éditeur de matériau reposant sur des nœuds et optimisé pour la prévisualisation et les flux de travail en temps réel ;
du rendu physique réaliste (PBR) qui met l'accent sur le réalisme par le biais de propriétés définies comme la couleur de base, l'aspect métallique, la rugosité, la spécularité et les textures de normales ;
de retours en temps réel avec les modifications apportées aux matériaux dans le hublot d'aperçu avec éclairage et reflets en temps réel ;
de flux de travail paramétrés avec des instances de matériau pour ajuster les matériaux par le biais de remplacements sans avoir besoin de recompiler le matériau parent.
Attributs de définition d'un matériau
Les attributs qui définissent la façon dont un matériau est rendu et ses réactions à l'éclairage et aux surfaces dans l'Unreal Engine sont déterminés par leurs propriétés, leurs entrées de matériau et leurs logiques de graphique de matériau.
Propriétés de matériau et entrées de matériau
Dans l'éditeur de matériau, le panneau Détails vous permet de configurer les attributs définissant un matériau. Il existe trois propriétés principales à prendre en compte pour le type de matériau que vous créez. Ces propriétés définissent les entrées du nœud de matériau principal que vous utiliserez pour configurer l'apparence de votre matériau dans le graphique de matériau.
Le domaine de matériau définit le rôle du matériau dans le projet. Par exemple, une surface 3D, une interface utilisateur, un post-traitement, des fonctions d'éclairage ou des décalques.
Le mode de fusion définit la manière dont le matériau fusionne avec les pixels colorés en arrière-plan. Il peut par exemple être opaque, translucide, masqué, ainsi que d'autres options de fusion.
Le modèle d'ombrage définit la manière dont le matériau interagit avec la lumière, en déterminant l'apparence visuelle et le comportement d'éclairage des surfaces. Par exemple, les modèles d'ombrage de vêtements et de cheveux utilisent des entrées de matériau différentes pour atteindre le réalisme de leurs surfaces par rapport au modèle d'ombrage éclairé par défaut. Certains modèles d'ombrage ajoutent plus de complexité et un coût en performances à leurs matériaux.
Une fois ces propriétés de matériau configurées, vous pouvez développer un matériau en utilisant les entrées disponibles dans le nœud de matériau principal dans le graphique de matériau. La liste des entrées est directement attribuée au domaine, au mode de fusion et au modèle d'ombrage défini pour le matériau que vous développez. Pour la plupart des matériaux créés dans l'Unreal Engine, vous utiliserez ce qui suit.
Vous trouverez ci-dessous un exemple des différentes entrées sur le nœud de matériau principal lorsque vous changez uniquement le mode de fusion pour utiliser différentes sorties.
Domaine de matériau : surface Mode de fusion : opaque Modèle d'ombrage : éclairé par défaut | Domaine de matériau : surface Mode de fusion : translucide Modèle d'ombrage : éclairé par défaut | Domaine de matériau : surface Mode de fusion : masqué Modèle d'ombrage : éclairé par défaut |
Ci-dessous, vous trouverez les noms d'entrée courants utilisés pour les matériaux Hypershade de Maya et leurs équivalents dans l'Unreal Engine. Cela concerne également le type d'entrée source habituel à chacune de ces entrées dans l'Unreal Engine lorsqu'on définit une logique dans un graphique de matériau.
| Entrées de matériau Hypershade Maya | Entrées de matériau de l'Unreal Engine | Type de source standard | Description d'entrée de matériau |
|---|---|---|---|
Couleur | Couleur de base | Texture ou couleur | Couleur diffuse principale d'une surface. |
Réflectivité | Métallique | Scalaire ou texture | Définit si la surface est d'apparence métallique (1) ou non métallique (0). |
Rugosité | Rugosité | Scalaire ou texture | Contrôle la fluidité de la surface, de lisse (0) à rugueux (1). |
Réflectivité | Spéculaire | Scalaire ou texture | Contrôle l'intensité de reflet d'une surface non métallique de non réfléchissante (0) à réfléchissante (1). |
Relief / Normale | Normale | Texture de normales | Applique des détails de surface à l'aide de textures. |
Émission / Couleur d'émission / Incandescence | Couleur émissive | Couleur ou texture | Contrôle l'intensité de l'auto-illumination d'une surface. |
Transparence / Translucidité | Opacité | Scalaire ou texture | Contrôle à quel point la surface va passer de la transparence totale (0) à l'opacité (1). |
Couleur ambiante | Occlusion ambiante | Texture | Contrôle l'intensité des ombres indirectes. |
Pour plus d'informations et des exemples d'utilisation de ces propriétés et de leurs entrées dans les matériaux, consultez les sujets suivants :
Graphique de matériau
Le graphique de matériau est l'éditeur qui repose sur les nœuds. Il vous permet de relier des textures, des expressions, des opérations mathématiques et des valeurs pour définir l'aspect d'une surface. Les matériaux peuvent être aussi simples ou complexes que vous le souhaitez pour définir une surface.
Vous utiliserez généralement les nœuds :
Texture Sample
Ce nœud utilise des textures, comme des color maps et des textures de normales.
Constantes
Ces nombres sont utiles pour contrôler les propriétés scalaires, comme les valeurs d'entrée d'un nœud Linear Interpolate. Vous pouvez aussi les relier directement aux entrées du nœud de matériau principal pour Métallique, Rugosité ou Opacité.
Nœuds mathématiques
Il s'agit d'opérations mathématiques permettant d'ajouter, de multiplier, de soustraire, de diviser, d'interpoler linéairement (Lerp), d'activer (Power), de limiter, etc.
Nœuds d'utilitaires
Ce sont des nœuds qui aident à construire une logique avec d'autres nœuds dans le graphique. Ils incluent les expressions de Fresnel, de vecteur de caméra, de position dans le monde, de coordonnées de texture, etc.
Pour plus d'informations sur l'utilisation de la logique dans le graphique de matériau et sur les fonctionnalités générales, consultez les sujets suivants :
Notes supplémentaires pour les matériaux et les textures
Vous trouverez ci-dessous une présentation détaillée de sujets en lien avec le développement de matériaux dans l'Unreal Engine. Pour plus d'aperçus détaillés de ces concepts et applications, consultez les pages de documentation liées.
Matériaux vs. instances de matériau
Le système de matériaux de l'Unreal Engine est conçu pour la personnalisation et le paramétrage en matière de rendu et d'éclairage en temps réel. L'une des façons d'optimiser le travail des matériaux consiste à utiliser l'instanciation de matériau qui permet de personnaliser les paramètres sans affecter le matériau d'origine dont il est dérivé.
Si un matériau est la ressource primaire qui définit l'apparence de la surface d'un objet et interagit avec l'éclairage, une instance de matériau utilise les attributs et les paramètres du matériau parent ou de base pour remplacer ces valeurs et apporter de la variété et des options de personnalisation. Cela peut également s'avérer plus efficace que l'utilisation de matériaux individuels pour tous les objets.
Les caractéristiques des matériaux et des instances de matériaux se répartissent des façons suivantes :
| caractéristiques des matériaux : | caractéristiques des instances de matériau : |
|---|---|
Ils sont créés à l'aide d'un éditeur reposant sur des nœuds. | Elles utilisent un éditeur piloté par des paramètres exposés qui peuvent être remplacés depuis le matériau de base. |
Ils regroupent toutes les entrées de fonctionnalité possibles d'un matériau, comme la couleur, l'aspect métallique, la rugosité, l'opacité, etc. | Elles permettent d'accéder uniquement aux paramètres exposés qui peuvent être remplacés dans le matériau de base. |
Les changements apportés aux matériaux requièrent une recompilation de ceux-ci avant de pouvoir être prévisualisés. | Elles fournissent des retours en temps réel pour les changements de paramètres qui ne requièrent pas de recompilation du matériau. |
Le graphique de matériau peut avoir n'importe quel niveau de complexité pour atteindre ses besoins visuels. | L'accès uniquement aux paramètres exposés permet d'améliorer les performances et l'efficacité du flux de travail. |
Changer ce matériau affecte tous les objets qui l'utilisent. | Changer cette instance de matériau n'affecte que les objets qui l'utilisent, ce qui les rend idéaux pour créer plusieurs surfaces similaires à partir du même parent de base avec des fonctionnalités similaires. |
Le meilleur moment pour utiliser une instance de matériau en coordination avec un matériau, c'est quand il vous reste à personnaliser les détails et ajuster les paramètres, tels que la couleur du matériau, ses textures, sa modification d'échelle, etc. Vous devez créer de nouveaux matériaux de base lorsque vous devez définir un nouveau comportement visuel et un nouveau style (opacité ou translucidité) qui requiert la configuration d'une nouvelle logique dans le graphique de matériau.
Les matériaux requièrent généralement plus de temps de configuration initiale et sont moins performants que l'utilisation d'une instance de matériau pour les matériaux aux propriétés et attributs similaires.
Pour plus d'informations sur l'utilisation des matériaux avec des instances de matériau dans votre projet, consultez les sujets suivants :
Textures
Comme dans Maya, les textures sont des image maps que vous appliquez aux attributs d'entrée du matériau que vous créez, tels que la couleur de base, la normale, la rugosité, pour définir les détails de la surface. Dans l'Unreal Engine, une plus grande importance est placée sur les concepts de rendu et les retours en temps réel lors du développement des matériaux.
Quand vous importez des textures, vous pouvez les ouvrir dans l'éditeur de ressource de texture où vous pourrez consulter leurs informations, configurer leurs paramètres et effectuer des ajustements.
Plusieurs méthodes permettent d'optimiser et de travailler plus efficacement avec les textures dans l'Unreal Engine :
Créer et ajuster les textures à l'aide d'outils tiers avant de les importer ;
Utiliser des techniques de channel packing pour combiner plusieurs textures en niveaux de gris pour les entrées de matériau, comme la rugosité, l'aspect métallique et l'occlusion ambiante, dans des textures RVB uniques. Cela peut optimiser les performances en faisant référence à une seule texture au lieu de plusieurs textures différentes ;
Le moteur utilise automatiquement la compression de texture pour les textures, mais comprendre comment l'exploiter peut améliorer le réalisme visuel et les performances ;
Faites attention aux tailles des textures. Pour une performance en temps réel, il est idéal de s'appuyer sur des dimensions puissance 2 (128, 512, 1024, etc.) pour les textures. Les textures qui ne sont pas des puissances 2 n'utilisent pas le système de chargement dynamique de textures du moteur, ce qui peut entraîner des artefacts visuels à distance.
Pour plus d'informations sur l'utilisation des textures dans l'Unreal Engine, consultez les rubriques suivantes :
Framework de matériau Substrate
Le framework de matériau Substrate de l'Unreal Engine est une approche de la création de matériaux qui remplace la suite fixe de modèles d'ombrage et de modes de fusion par un framework plus expressif et modulaire. La création de matériau est la même que pour le système de matériaux standard. Cependant, vous n'êtes plus limité à des matériaux individuels qui utilisent un seul modèle d'ombrage et un seul mode de fusion. Vous pouvez les fusionner parfaitement dans ce flux de travail pour créer des matériaux uniques avec une complexité plus élevée.
Pour plus d'informations sur l'utilisation de Substrate dans vos projets et vos flux de travail de création de matériaux, consultez Aperçu des matériaux Substrate.
Rendu basé sur la physique avec des matériaux
L'Unreal Engine utilise le rendu physique réaliste (PBR), qui simule fidèlement le comportement de la lumière en interaction avec les surfaces, pour l'ombrage et le rendu. Cela génère des interactions d'éclairage physiquement crédibles qui permettent de créer des visuels réalistes et prévisibles, sous différentes conditions d'éclairage, comme la lumière directe du soleil ou un éclairage intérieur, ou même des surfaces photoréalistes ou des effets stylisés à la main.
Les principes clés à prendre en compte lorsque vous travaillez avec des matériaux PBR dans l'Unreal Engine sont les suivants :
des interactions d'éclairage réalistes, où les surfaces réagissent de manière précise et prévisible à différentes configurations d'éclairage, qu'il s'agisse d'un éclairage naturel (extérieur) ou artificiel (intérieur) ;
la cohérence avec les matériaux pour adapter le rendu à travers différentes scènes et scénarios d'éclairage ;
un flux de travail simplifié dans lequel les graphistes définissent les matériaux par leurs propriétés physiques plutôt que par des valeurs arbitraires, ce qui permet de réduire les tâtonnements lors des ajustements d'ombrage et d'éclairage dans un environnement en temps réel, avec un retour instantané dans la scène.
Pour plus d'informations, consultez Matériaux basés sur la physique.
Page suivante
Éclairage et rendu dans l'Unreal Engine pour les utilisateurs de Maya
Vue d'ensemble des fonctionnalités d'éclairage et de rendu de l'Unreal Engine pour les utilisateurs de Maya.