La création et l'édition de Matériaux standard dans l'Unreal Engine peuvent prendre beaucoup de temps. Pour accélérer et rationaliser le processus de création de Matériaux, l'Unreal Engine propose un type spécial de Matériau appelé Instance de matériau. Ce tutoriel montre comment configurer et utiliser les Instances de matériau dans vos projets.
Instanciation de matériau
L'instanciation des matériau est un moyen de créer un Matériau parent que vous pouvez utiliser comme base pour créer une grande variété d'enfants d'apparence différente (Instances de matériau).
Pour obtenir cette flexibilité, [l'instanciation de matériau] (designing-visuals-rendering-and-graphics/materials/material-instances) utilise un concept appelé héritage : les propriétés du matériau parent sont transmises à ses enfants. Les propriétés qui sont désignées comme paramètres dans le Matériau parent sont exposées aux artistes dans l'Éditeur d'instance de matériau.

Grâce aux Instances de matériau, vous pouvez créer de nombreuses variantes à partir d'un seul Matériau de base :

Créer des Instances de matériau est un processus en deux étapes
- Créez d'abord un Matériau paramétré que vous utiliserez comme Matériau parent pour vos Instances.
- Créez une Constante d'instance de matériau dans le Navigateur de contenu. Vous pouvez ensuite personnaliser le Matériau dans l'Éditeur d'instance de matériau.
Pour plus d'informations sur l'instanciation de matériau, [lisez l'aperçu ici] (designing-visuals-rendering-and-graphics/materials/material-instances).
Création d'un matériau paramétré
Une Instance de matériau hérite de tous les attributs de son Matériau parent, mais tous ces attributs ne peuvent pas être personnalisés par défaut dans l'Éditeur d'instance de matériau.
Pour que les attributs d'un Matériau soient modifiables dans une Instance de matériau, vous devez désigner certains attributs comme paramètres en utilisant des nœuds de paramètre au lieu des [Expressions de matériau] ordinaires (designing-visuals-rendering-and-graphics/materials/material-expressions).
Il existe deux façons d'ajouter des nœuds de paramètres à votre graphique de Matériau.
Ajout de nœuds de paramètres à partir de la palette de matériaux
Si vous recherchez le mot "paramètre" dans la Palette de matériaux, ou dans le menu contextuel de l'Éditeur de matériaux, vous trouverez tous les nœuds de paramètres disponibles.
Vous pouvez faire glisser et déposer ces nœuds de paramètres depuis la Palette ou les sélectionner dans le menu contextuel pour les ajouter à votre graphique de matériau.

Paramètres dans le menu du clic droit (à gauche) et la Palette de matériaux (à droite)
Raccourcis des paramètres
Deux des paramètres de matériau les plus utilisés ont des raccourcis clavier dans l'Éditeur de matériaux :
- Paramètre scalaire - Maintenez la touche s et cliquez avec le bouton gauche dans le graphique de matériau pour placer un Paramètre scalaire. Un Paramètre scalaire est la version paramétrée d'une Constante, et contient une seule valeur numérique.
- Paramètre vectoriel - Maintenez la touche v et cliquez avec le bouton gauche** dans le graphique de matériau pour placer un Paramètre vectoriel. Un Paramètre vectoriel est la version paramétrée d'un vecteur de Constante 4 et contient quatre valeurs à virgule flottante.
Utilisez le raccourci ou la palette pour placer un Paramètre scalaire dans votre graphique de matériau :

Nommez le paramètre Rugosité et connectez-le à l'[entrée matériau] correspondante (designing-visuals-rendering-and-graphics/materials/material-inputs).
Valeur par défaut et plage de valeurs
Si vous souhaitez définir une valeur par défaut pour le paramètre ou limiter la plage de valeurs, vous pouvez le faire dans le panneau Détails.

Par exemple, l'entrée de Rugosité accepte une valeur comprise entre 0 et 1. Pour s'assurer que le paramètre de Rugosité reste toujours dans cette plage attendue, définissez les valeurs Curseur Min et Curseur Max sur 0 et 1.
Si vous souhaitez une valeur de Rugosité par défaut différente de 0, saisissez-la dans le champ Valeur par défaut.
Sélectionnez le paramètre Rugosité et appuyez sur Ctrl+D pour dupliquer le nœud. Renommez le deuxième paramètre scalaire Métallique et connectez-le à l'entrée appropriée. Votre graphique devrait maintenant ressembler à ceci :

Convertir un nœud en paramètre
Vous pouvez également convertir des Expressions de matériau standard en paramètres dans un graphique de Matériau standard existant.
Pour les besoins de la démonstration, placez un nœud Constant3Vector dans votre graphique de matériau. Il s'agit d'une expression de Matériau standard (non paramétrée), souvent utilisée pour définir la Couleur de base d'un Matériau.

Pour convertir ce nœud en paramètre, cliquez avec le bouton droit de la souris sur le nœud et choisissez Convertir en paramètre dans le menu contextuel.

N'oubliez pas de donner au paramètre un nom unique et descriptif comme BaseColor. Le champ de dénomination est sélectionné automatiquement lorsque vous convertissez un nœud.

Vous pouvez modifier la couleur dans le champ Valeur par défaut présenté ci-dessus, ou vous pouvez double-cliquer sur le nœud BaseColor pour ouvrir le sélecteur de couleurs.

Vous ne pouvez pas paramétrer chaque nœud de Matériau dans l'Unreal Engine, mais l'option Convertir en paramètre est disponible dans le menu contextuel de clic droit pour toute expression de Matériau qui peut être paramétrée.
Exemple de matériau paramétré
Votre graphique de Matériau devrait maintenant contenir un paramètre Vecteur branché sur BaseColor et deux paramètres Scalaires, branchés sur les entrées Metallique et Rugosité :

Ces trois paramètres vous permettront de modifier la couleur, la rugosité et les propriétés métalliques du Matériau une fois que vous aurez créé une instance de Matériau.
Cliquez sur Appliquer dans le coin supérieur gauche de l'Éditeur de matériaux pour compiler le matériau, puis cliquez sur Enregistrer.

Création d'une instance de matériau
Maintenant que vous disposez d'un Matériau paramétré simple, vous pouvez créer des instances de Matériau et les personnaliser dans l'[éditeur d'instance de matériau] (designing-visuals-rendering-and-graphics/materials/material-instances/material-instance-editor).
Pour créer une instance de matériau, cliquez avec le bouton droit de la souris sur votre Matériau dans le Navigateur de contenu et choisissez Créer une instance de matériau dans le menu.

Votre instance de matériau tirera son nom du Matériau que vous utilisez pour la créer. Vous pouvez renommer l'instance de matériau en la sélectionnant et en appuyant sur F2 ou par un simple clic sur le champ du nom.

Modification d'une instance de matériau
Double-cliquez sur l'instance de matériau dans le Navigateur de contenu pour ouvrir l'Éditeur d'instance de matériau.

L'éditeur d'instance de matériau est l'interface dans laquelle vous pouvez personnaliser les paramètres du Matériau afin de produire différentes variations de votre Matériau parent.
Une instance de matériau dans l'Éditeur d'instance de matériau.
Régler les paramètres du matériau
Les Paramètres du matériau se trouvent dans le panneau Détails, sur le côté droit de l'Éditeur d'instance de matériau. Notez que ces paramètres tirent leurs noms des nœuds de paramètres dans votre graphique de matériau original.
Suivez les étapes suivantes pour modifier un paramètre :

- Cochez la case à côté du paramètre pour l'autoriser à être modifié.
- Tapez une nouvelle valeur dans le champ ou faites un clic gauche et glissez pour augmenter ou descendre la valeur. Pour les paramètres vectoriels, cliquez avec le bouton gauche de la souris sur le nuancier de couleurs pour activer le sélecteur de couleurs.
- Pour réinitialiser un paramètre à sa valeur par défaut, cliquez sur l'icône en forme de flèche illustrée ici.
Au fur et à mesure que vous ajustez les paramètres, l'aperçu du Matériau se met à jour en temps réel dans l'Éditeur d'instance de matériau, et dans le Niveau si le Matériau est actuellement appliqué à des Acteurs.
Utilisation des groupes de paramètres
Vous pouvez trier vos paramètres en Groupes de paramètres pour améliorer l'organisation et la lisibilité de vos instances de matériau.
Si l'exemple ci-dessus, qui ne comporte que trois paramètres, est facile à lire, l'interaction avec des Matériaux maîtres fortement paramétrés peut s'avérer inefficace si vous n'utilisez pas de groupes de paramètres.
Le curseur ci-dessous montre une instance de Matériau avec et sans groupes. Dans l'exemple sans groupes de paramètres, les paramètres scalaires apparaissent dans une seule liste non organisée. L'instance avec les groupes de paramètres est soigneusement organisée par attribut de Matériau.


Comment utiliser les groupes de paramètres
Les groupes de paramètres sont configurés dans le Matériau parent, et non dans l'Instance du matériau. Cette opération s'effectue dans le panneau de détails de l'Éditeur de matériaux.
Sélectionnez un nœud de paramètre de Matériau dans votre graphique de matériau.

Dans le panneau Détails, tapez un nom dans le champ Groupe. Vous pouvez nommer vos groupes comme vous le souhaitez, mais nous vous suggérons de regrouper les paramètres en fonction de l'attribut Matériau qu'ils contrôlent.

Une fois que vous avez attribué un nom de groupe de paramètres à une expression de paramètre de Matériau, ce nom apparaît dans le menu déroulant à côté du champ Groupe.
Pour le reste de vos paramètres, vous pouvez soit saisir de nouveaux noms de groupes, soit sélectionner l'un des groupes de paramètres existants dans le menu déroulant.

Ordonner les paramètres dans les groupes
Vous pouvez utiliser le champ Priorité de tri pour modifier l'ordre selon lequel les paramètres sont répertoriés dans un groupe. Par défaut, tous les paramètres sont classés par ordre alphabétique, ce qui peut entraîner un classement maladroit ou inefficace dans l'Éditeur d'instance de matériau. Dans le curseur ci-dessous, les commandes de quadrillage et de décalage UV sont fragmentées lorsqu'elles sont classées par ordre alphabétique, mais en attribuant une valeur de priorité de tri à chaque paramètre, l'expérience est améliorée.


Pour modifier l'ordre d'un paramètre, sélectionnez le nœud et saisissez une nouvelle valeur dans le champ Priorité de tri du panneau Détails.

Tri des groupes de paramètres
Par défaut, les groupes de paramètres apparaissent par ordre alphabétique dans l'Éditeur d'instance de matériau.
Il existe deux façons de modifier l'ordre de vos groupes de paramètres. Une solution consiste à ajouter simplement des numéros aux noms de vos groupes.
Le Matériau parent de Megascans utilise cette approche, avec des groupes de paramètres numérotés de 00 à 07.

Cela permet d'afficher les groupes de paramètres dans le même ordre qu'ils apparaissent dans le Nœud principal du matériau.
Priorité de tri du groupe
Vous pouvez également utiliser la propriété Priorité de tri du groupe dans le panneau de détails pour modifier l'ordre de vos groupes de paramètres. Cette propriété se trouve dans le Matériau parent, et non dans l'Instance de matériau.
- Désélectionnez tous les nœuds du Graphique de matériau pour accéder à ses Propriétés de matériau.
- Dans le panneau Détails, développez Tri de groupe, puis Données de groupe de paramètres
-
La matrice de cette section répertorie tous les paramètres de votre Matériau. Développez chaque index et modifiez la Priorité de tri des groupes pour modifier l'ordre des groupes.
!Priorité de tri des groupes](parameter-group-sorting.png)
Modification du Matériau parent d'une Instance de matériau
Vous pouvez facilement modifier le Matériau parent utilisé par une Instance de matériau, dans l'Éditeur d'instance de matériau.
Pour modifier le Matériau parent, ouvrez une Instance de matériau dans l'Éditeur d'instance de matériau. Dans la section Général du panneau Détails, trouvez la propriété Parent.

Utilisez le menu déroulant pour rechercher et sélectionner un autre Matériau parent. Vous pouvez également sélectionner un Matériau dans le Navigateur de contenu et cliquer sur le bouton Utiliser la ressource sélectionnée dans le navigateur de contenu (flèche orientée vers la gauche).
Notez que si vous modifiez le Matériau parent, cela peut changer complètement l'apparence et les propriétés de l'Instance du matériau. Les paramètres que vous utilisiez auparavant peuvent ne plus être disponibles dans le nouveau parent.

Par exemple, si vous sélectionnez le Matériau M_Metal_Gold dans la liste déroulante, les trois paramètres qui étaient présents dans l'exemple M_Parameterized (rugosité, métallique, couleur de base) ne sont plus disponibles dans l'Instance dorée.

Conclusion
L'instanciation de matériau est un outil puissant que vous pouvez utiliser dans tous les aspects de votre projet. Qu'il s'agisse d'ajouter des variations aux armes et aux accessoires ou d'aider les artistes à mieux utiliser les Matériaux disponibles, Les Instances de matériaux peuvent contribuer à rationaliser et à unifier la manière dont les Matériaux sont créés et utilisés dans votre projet.