Ce document est une vue d'ensemble du flux de travail original des couches de matériaux, qui utilise les fonctions de matériau pour créer des couches de fusion complexes. Pour en savoir plus sur la nouvelle fonction **Couches de matériaux, dans l'éditeur d'instance de matériau, lire ici.
Les Couches de matériau permettent de créer un matériau unique qui comporte plusieurs sous-matériaux (ou couches) que vous pouvez placer sur le surface de vos objets, via des opérations de pixels, telles que des masques. Elles sont idéales pour gérer des fusions complexes entre des types de surface uniques. Dans l'image illustrant des fusées ci-dessous, la fusée la plus à droite utilise une couche distincte pour ses parties chromées, en aluminium et en cuivre. Celles-ci sont fusionnées sur tout le matériau, pixel par pixel.
En tant que fonction, les couches de matériaux sont une extension des Fonctions de matériau. Les fonctions de matériau sont des réseaux de nœud intégrés qui exécutent une opération spécifique, comme une équation mathématique complexe. Vous pouvez ensuite réutiliser ces fonctions au besoin, avec un nombre quelconque de matériaux. Grâce aux nœuds Définir les attributs du matériau et aux nœuds Diviser les attributs du matériau, vous pouvez définir complètement un ensemble complet d'attributs de matériaux dans une fonction Matériau. Vous pouvez appeler ces fonctions de matériau dans un matériau de base, et les fusionner ensemble à l'aide des fonctions de fusion de couches de matériau.
L'image ci-dessus illustre un simple matériau en chrome défini entièrement dans la fonction de matériau à l'aide du nœud Définir les attributs de matériau. Vous pouvez utiliser cette fonction comme couche dans votre matériau de base et la fusionner avec d'autres Fonction de matériaux (couches)
Il est important de réaliser qu'étant donné que les fonctions de matériau ne peuvent pas être appliquées directement sur une surface vous devez insérer chaque couche de fonction de matériau dans un matériau de base standard, que vous pouvez ensuite appliquer aux maillages statiques. Vous pouvez utiliser les fonctions de matériau pour créer autant de couches que vous le souhaitez, en les fusionnant ensemble à votre convenance.
A un haut niveau, le flux de travail ressemble à cela :
- Créez une nouvelle fonction de matériau et modifier le graphique de nœud jusqu'à la perfection. Cette fonction agira comme une couche lorsque vous l'appelez dans votre matériau de base.
- Connectez votre réseau de nœuds à un nouveau nœud Définir des attributs du matériau, et connectez-le à la sortie de la fonction.
- Enregistrez la fonction de matériaux.
- Répétez ce processus pour toute autre couche de fonction de matériaux que vous souhaitez créer.
- Créez un nouveau matériau, puis ouvrez-le dans l'Éditeur de matériaux.
- Faites glisser vos fonctions de matériau depuis le Navigateur de contenu dans le nouveau matériau pour les utiliser comme couches.
- Fusionnez plusieurs fonctions de matériau ensemble, à l'aide des fonctions Fusionner les couches de matériau.
Votre objet final peut disposer désormais de plusieurs matériaux fusionnés sur toute sa surface.
Avantages clés
Les couches de matériaux vous permettent de créer ce qui pourrait sinon constituer un matériau très complètes, et d'assurer qu'il soit plus gérable, du point de vue de l'édition future.
Par exemple, il est possible de créer l'effet des couches de matériaux à l'aide d'un graphique de matériau standard (sans couches ni fonction). Cependant, cela nécessite des réseaux complexes pou fusionner différentes textures et valeurs pour chacun d'eux Entrée de matériau. Étant donné que la plupart des matériaux utilisent de multiples entrées, la complexité d'un tel matériau pourrait augmenter de manière significative.
Tenez compte de la complexité du réseau ci-dessous, qui utilise aucune couche de matériau et fusionne un effet chromé et cuivré, comme illustré sur la fusée ci-dessus.
Un graphique de matériau sans couches.
Cliquez sur l'image pour l'agrandir.
Avec une couche de matériau, chaque type de matériau distinct est contenu dans son propre nœud. Cela simplifie et grandement la fusion et accélère l'édition et le débogage de manière significative par un artiste. A l'aide des nœuds Définir les attributs du matériau et Diviser les attributs du matériau, vous pouvez connecter chaque couche de la fonction de matériau directement, sans vous soucier de relier les propriétés individuelles.
Le réseau ci-dessous obtient les mêmes résultats que ci-dessus, mais les matériaux chromés et cuivrés sont modularisés dans leurs propre fonctions de matériau.
Il s'agit du même matériau, qui utilise les fonctions de matériau en tant que couches.
Cliquez sur l'image pour l'agrandir.
Un autre avantagé lié à l'approche des couches de matériau est qu'étant donné qu'elle utilise les fonctions de matériau, chaque couche est réutilisable. Cela vous permet de configurer une bibliothèque d'archétypes de matériaux, ou des matériaux qui définissent un type de surface du monde réel. Par exemple, vous pouvez créer des couches qui représentent des surfaces génériques, comme l'aluminium, l'acier, le cuir, le plastique, le caoutchouc, etc. Vous pouvez ensuite utiliser une couche de matériau pour les fusionner ensemble. Cette possibilité est très utile si vous souhaitez créer un objet détaillé, comme un personnage, sans avoir à créer un ensemble massif de matériaux à appliquer individuellement sur la surface.
Types de fusions
Dans la liste des fonctions de matériau dans la palette de l'Editeur de matériaux, figure une liste des différentes fonctions Fusions de couches de matériau. Celles-ci existent pour vous aider à fusionner les matériaux sans devoir recréer des graphiques de nœud complexes, à chaque fois. Différents types permettent d'obtenir des types de fusions spécialisées, comme la possibilité d'ignorer certaines caractéristiques du matériel.
![Fonctions de fusion de couches de matériau dans la palette]
| MatLayerBlend_AO | Fusionne une carte d'occlusion ambiante (AO) sur la surface pour éliminer les reflets. |
| MatLayerBlend_BaseColorOverride | Permet de remplacer la couleur de base. |
| MatLayerBlend_BreakBaseColor | Extrait la couleur de base d'une couche de matériau entrante. |
| MatLayerBlend_BreakNormal | Extrait la texture normale d'une couche de matériau entrante. |
| MatLayerBlend_Decal | Fusionne une feuille de décalcomanie sur le matériau, à l'aide du second canal UV. |
| MatLayerBlend_Decal_UV3 | Fusionne une feuille de décalcomanie sur le matériau, à l' aide du troisième canal UV. |
| MatLayerBlend_Emissive | Fusionne la texture d'émission sur la couche de matériau. |
| MatLayerBlend_GlobalNormal | Fusionne une texture normale sur la couche de matériau. |
| MatLayerBlend_LightmassReplace | Remplace la couleur de base dans Lightmass, ce qui permet de modifier les résultats d'éclairage indirect. |
| MatLayerBlend_ModulateRoughness | Multiplie la rugosité de la couche de matériau par une texture entrante. Utile pour un effet « graisseux » |
| MatLayerBlend_NormalBlend | Fusionne une texture normale sur toute la surface mais, au moyen d'une texture de masque, ce qui permet de contrôler l'emplacement de la texture normale. |
| MatLayerBlend_NormalFlatten | Diminue l'effet de carte de la texture normale. |
| MatLayerBlend_RoughnessOverride | Remplace la texture rugueuse d'une couche de matériau. |
| MatLayerBlend_Simple | Fournit une solution de fusion d'une interpolation linéaire simple (Lerp) pour les couches de matériau 2. Ne fusionne pas la texture Normale, à la place, retient la texture normale du matériau de base. |
| MatLayerBlend_Stain | Fusionne le matériau supérieur sur le matériau de base en tant que teinture, ce qui signifie que les valeurs de couleur de base et de rugosité du matériau supérieur sont utilisées. |
| MatLayerBlend_Standard | Fusionne tous les attributs des deux couches de matériau. |
| MatLayerBlend_Tint | Permet la teinture d'une couche de matériau en intégrant une couleur de teinte et un masque pour contrôler l'emplacement de la teinte. Utile pour effectuer des modifications partielles de couleurs. |
| MatLayerBlend_TintAllChannels | Similaire à Teinte, mais affecte également l'attribut Spéculaire. Il s'agit d'une fonction qui s'applique à un cas très spécial, en général, vous n'en n'aurez pas besoin. |
| MatLayerBlend_TopNormal | Fusionne tous les attributs des deux matériaux mais n'utilise que les matériau normal et supérieur. |
Instanciation de couches de matériau
Etant donné que les couches de matériaux ne sont que des fonctions de matériau, leur configuration pour les instancier nécessite une réflexion supplémentaire. Pour mieux utiliser les paramètres Scalaires et Vectoriels, vous pouvez créer une expression Entrée de fonction dans le cadre de la couche de matériau. Vous pouvez ensuite connecter un paramètre à cette entrée depuis le matériau de niveau supérieur. Pour plus d'informations, reportez-vous à Vue d'ensemble des fonctions de matériau.
Le flux est similaire à ce qui suit :
- Paramètre du matériau (paramètre Scalaire, paramètre Vecteur, etc.)
- Couche de matériau (Fonction)
- Expression Entrée de fonction
- Un réseau pour définir la couche de matériau
- Résultat de la fonction
- Matériau final
Quelques conseils utiles :
- Lors du collage de vos expressions de matériau dans une fonction pour créer votre couche, remplacez tous les paramètres par les nœuds d'Entrée de fonction correctement nommés.
- Lorsque ou appliquer votre nouvelle fonction de matériau à votre matériau, connectez les nouveaux nœuds de matériaux dans les entrées.
- Vous pouvez désormais instancier le matériau final, et vos paramètres généreront les aspects appropriés de vos couches.
- Assurez-vous de fournir les valeurs par défaut pour vos Entrées de fonction. Cela accélère le flux de travail pour ceux qui n'ont pas besoin d'apporter des modifications.
Avertissements
Même si les couches de matériau sont utiles pour gérer plusieurs configurations de matériaux, vous devez les employer avec prudence. Ils peuvent impacter les performances de manière significative, notamment si les matériaux utilisés dans les fonctions de couche sont eux-mêmes complexes.
N'oubliez pas que toutes vos couches sont rendues simultanément, puis fusionnées. Par exemple, si vous votre matériau comporte quatre couches, pour chaque pixel de votre objet, le moteur doit tester pour vérifier laquelle des quatre couches est fusionner toute couche non utilisée. Ce calcul supplémentaire rend le matériau plus gourmand en performances.
Votre premier réflexe serait d'utiliser les couches de matériau à tout moment, vous souhaitez disposer de plusieurs types de surface sur un objet. Par exemple, sur une automobile vous souhaitez peut-être avoir une couche différente pour la peinture, une autre pour l'acier, pour le caoutchouc, les vitres , etc. Au contraire, il est plus efficace de séparer plusieurs de ces couches au niveau de la géométrie. Cela créé plus d'éléments de matériau sur vos objets, qui augmente les appels à générer, mais est généralement plus efficace. En bref, si vous pouvez appliquer plusieurs matériaux au lieu d'utiliser des couches de matériau, faites-le. Si vous devez contrôler les pixels sur les emplacements des matériaux, utilisez alors les fonctions de matériau ou les Couches de matériau.
Même si le fait de condenser plusieurs matériaux pour n'en créer qu'un réduit les appels à générer, les couches de matériaux obtenues sont généralement trop lourdes pour pouvoir être utilisées sur les plateformes mobiles.