En bref
- Un Material Instance hérite des propriétés du matériau parent ; seules les valeurs définies comme paramètres peuvent être modifiées.
- Un Scalar Parameter contient une valeur numérique, tandis qu’un Vector Parameter contient une valeur à quatre canaux.
- Pour créer un Material Instance, préparez d’abord un matériau parent avec des paramètres, puis créez l’instance dans le Content Browser.
- Les groupes de paramètres facilitent l’organisation des instances comportant de nombreux contrôles dans le Material Instance Editor.
Ce que vous apprendrez dans ce guide
Dans Unreal Engine, créer des variantes de matériaux ne nécessite pas de reconstruire le graphe de nœuds pour chaque nouveau rendu. Un Material Instance hérite des propriétés d’un matériau parent et permet de modifier séparément les valeurs définies comme paramètres dans ce dernier. Vous pouvez ainsi créer, à partir d’une même définition de surface, des matériaux avec différentes valeurs de couleur, de rugosité et de métallicité.
Ce guide vous explique comment préparer un matériau parent avec des paramètres, créer et modifier un Material Instance, puis organiser les contrôles en groupes. La documentation d’Unreal Engine indique que cette méthode peut accélérer le workflow en réduisant le besoin de recompiler les matériaux standard. L’aperçu se met à jour lorsque vous modifiez les paramètres ; si l’instance est appliquée à un Actor dans la scène, la modification peut également y être visible.
Prérequis
Le workflow utilise le Material Editor, le Content Browser et le Material Instance Editor d’Unreal Engine. Les guides fournis par Epic Games ne précisent aucune version d’Unreal Engine, configuration matérielle minimale ni exigence de compte ; aucune version ni recommandation système n’est donc indiquée ici. Vous devez pouvoir créer et enregistrer un Material, puis créer un matériau instance.
Les propriétés modifiables dans le Material Instance dépendent de la préparation du matériau parent. Les expressions de matériau standard ne deviennent pas automatiquement des contrôles modifiables : les propriétés à changer doivent être définies à l’aide de nœuds de paramètres. Il est donc utile de commencer par déterminer les valeurs que vous souhaitez mettre à disposition dans le matériau parent, plutôt que d’ouvrir directement l’instance.
Workflow Material Instance, étape par étape
Créez le matériau parent. Préparez un Material dans le Material Editor. Il servira de parent aux instances que vous créerez et définira leur apparence de base. Identifiez les propriétés que vous souhaitez pouvoir modifier, par exemple Base Color, Metallic et Roughness.
Transformez les valeurs modifiables en paramètres. Dans Material Palette, recherchez « parameter » ou utilisez le menu contextuel du Material Editor pour ajouter les nœuds de paramètres adaptés. Pour ajouter un Scalar Parameter, qui contient une seule valeur numérique, appuyez sur S dans le graphe, puis cliquez avec le bouton gauche. Pour un Vector Parameter, qui contient quatre valeurs à virgule flottante, appuyez sur V, puis cliquez avec le bouton gauche.
L’exemple de base présenté dans la documentation utilise un Vector Parameter pour Base Color et des Scalar Parameter pour Metallic et Roughness. Donnez aux paramètres des noms qui indiquent clairement leur fonction, comme « Roughness » et « Metallic ». Ces noms explicites permettent de comprendre plus facilement le rôle de chaque valeur dans le Material Instance Editor.
Définissez la valeur par défaut et la plage. Sélectionnez un nœud de paramètre dans le graphe pour en définir la valeur par défaut dans le panneau Details. Dans l’exemple d’Epic Games, la plage attendue pour Roughness est comprise entre 0 et 1 ; vous pouvez entrer ces limites dans les champs Slider Min et Slider Max. Cela définit la plage de valeurs accessible dans l’instance. Pour les autres valeurs, réglez les limites en fonction des besoins du matériau, sans supposer de valeurs absentes de la source.
Convertissez une expression existante en paramètre si nécessaire. Sélectionnez une Material Expression qui n’est pas un paramètre, faites un clic droit, puis choisissez Convert to Parameter. Cette option n’est pas disponible pour toutes les expressions : elle ne s’applique qu’à celles qui peuvent être converties en paramètres. Après la conversion, donnez au nœud un nom unique et explicite.
Appliquez et enregistrez le matériau. Une fois les connexions des paramètres terminées, cliquez sur Apply, en haut à gauche du Material Editor, puis enregistrez le matériau avec Save. Le matériau parent paramétré servira de base aux instances. Il n’est pas nécessaire de transformer en paramètres les valeurs qui doivent rester fixes : les valeurs sans paramètre ne seront pas proposées comme contrôles modifiables dans l’éditeur d’instances.
Créez un Material Instance. Dans le Content Browser, faites un clic droit sur le matériau parent et sélectionnez Create Material Instance. Pour renommer l’instance créée, sélectionnez-la puis appuyez sur F2, ou cliquez une fois sur son nom. L’instance hérite des propriétés du matériau parent ; à sa création, elle a la même apparence que celui-ci, sauf si ses paramètres sont modifiés.
Modifiez les valeurs de l’instance. Double-cliquez sur le Material Instance dans le Content Browser pour ouvrir le Material Instance Editor. Les contrôles apparaissent dans le panneau Details sous les noms des paramètres du matériau parent. Cochez la case à côté du paramètre à modifier, puis saisissez une nouvelle valeur ou cliquez et faites glisser pour l’ajuster. Pour changer la couleur d’un Vector Parameter, cliquez sur l’échantillon de couleur afin d’ouvrir le sélecteur. Utilisez la flèche de réinitialisation correspondante pour revenir à la valeur par défaut.
Organisez les nombreux contrôles en groupes. Les groupes de paramètres se définissent dans le matériau parent, et non dans l’instance. Dans le graphe du matériau parent, sélectionnez un nœud de paramètre et saisissez un nom de groupe dans le champ Group du panneau Details. Vous pouvez, par exemple, regrouper les contrôles selon les propriétés du matériau qu’ils pilotent. Pour définir l’ordre des paramètres d’un groupe, utilisez le champ Sort Priority du nœud ; pour trier les groupes, utilisez la propriété Group Sort Priority du matériau parent. La documentation d’Epic Games précise que les groupes sont triés par ordre alphabétique par défaut.
Incidence sur les workflows d’architecture, de design d’intérieur et d’archviz
Cette méthode peut être utile aux équipes d’architecture et de visualisation d’intérieur qui doivent créer plusieurs variantes à partir d’une même surface de base. Par exemple, les variations de couleur ou de rugosité des surfaces d’une scène peuvent être gérées à l’aide d’un matériau parent paramétré et de ses instances. Les valeurs se modifient dans le Material Instance Editor : il n’est pas nécessaire de reconstruire le graphe de nœuds pour chaque variante.
Une autre utilisation concerne les changements visuels dans la scène. Epic Games indique que les Dynamic Material Instance, qui peuvent être modifiés pendant le jeu, peuvent servir en visualisation architecturale, par exemple pour changer la couleur d’une peinture. Ce workflow diffère toutefois des étapes de création d’un matériau paramétré et d’une instance dans le Content Browser : les instances Dynamic sont créées à l’aide d’un script ou d’un Blueprint et peuvent être mises à jour à l’exécution. La source ne proposant pas de tutoriel détaillé sur ce workflow, aucun branchement de nœuds ni étape de code supplémentaire n’est fourni ici.
Pour une utilisation en équipe, il est important de nommer clairement les contrôles et les groupes ; regrouper un grand nombre de paramètres dans une seule liste peut compliquer les modifications. Les Static Parameter sont également appliqués à la compilation et leurs différentes combinaisons peuvent nécessiter de nouvelles compilations de matériaux. Epic Games avertit qu’un nombre élevé de combinaisons de paramètres statiques peut entraîner un nombre excessif de compilations de shaders. Les documents fournis ne précisent ni les licences, ni les coûts, ni les exigences matérielles ; des informations vérifiées doivent être recherchées séparément pour planifier le projet.
Erreurs fréquentes
Ne pas paramétrer la propriété à modifier : si le matériau parent utilise une valeur normale, celle-ci n’apparaîtra pas comme contrôle modifiable dans l’instance. Utilisez le nœud de paramètre adapté à la propriété souhaitée.
Donner un nom ambigu au paramètre : avec plusieurs contrôles, des noms explicites permettent de trouver plus facilement la bonne valeur à modifier.
Tout convertir en paramètres : n’exposez que les contrôles qui doivent varier dans les instances ; les valeurs destinées à rester fixes peuvent demeurer des expressions standard.
Multiplier les combinaisons de Static Parameter : les paramètres statiques sont appliqués à la compilation, et non à l’exécution. Un grand nombre de combinaisons différentes peut augmenter le nombre de matériaux à compiler.
Négliger les effets d’une modification du matériau parent : changer le matériau Parent d’une instance peut modifier son apparence et les paramètres disponibles. Rien ne garantit que le nouveau matériau parent contiendra les paramètres précédents.
Étapes suivantes
Commencez par préparer un matériau parent simple avec quelques paramètres, puis créez un Material Instance pour vérifier le résultat dans l’aperçu. À mesure que le nombre de contrôles augmente, organisez-les en groupes et définissez leur ordre. Si vous devez modifier des valeurs pendant l’exécution de la scène, tenez compte des différences d’utilisation entre les instances Constant et Dynamic ; la configuration des instances à l’exécution doit être traitée séparément dans Blueprint ou dans le code.
Sources et licence
Ce tutoriel est une adaptation en turc de la documentation d’Epic Games « Instanced Materials in Unreal Engine » et « Creating and Using Material Instances in Unreal Engine ». Dans les références fournies, les deux pages sont indiquées comme « licence=libre ».
Sources
2 sourcesLes textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.
L’approche Material Instance est pratique pour les cabinets d’architecture et les équipes de visualisation en Turquie, notamment pour présenter rapidement différentes options de couleur et de rugosité d’une même surface. Configurer le matériau parent une seule fois réduit le besoin de reconstruire le graphe de nœuds pour les variantes récurrentes.
Cela dit, son utilité dépend de la bonne organisation du matériau parent paramétré. Harmoniser les noms des contrôles et les groupes au sein de l’équipe facilite le travail de la personne qui reprend le fichier. Les sources ne précisant ni le coût de la licence ni les exigences matérielles, ces éléments doivent être vérifiés séparément. Il faut également tenir compte de la multiplication des combinaisons de paramètres statiques et du fait qu’une modification du matériau parent peut changer l’apparence des instances.
Questions fréquentes
Comment créer un Material Instance dans Unreal Engine ?
Préparez et enregistrez d’abord un matériau parent contenant les propriétés modifiables définies comme paramètres. Dans le Content Browser, faites ensuite un clic droit sur le matériau parent et choisissez Create Material Instance.
Quelles valeurs peut-on modifier dans un Material Instance ?
Les propriétés définies comme paramètres dans le matériau parent peuvent être modifiées dans le Material Instance Editor. Un Scalar Parameter contient une valeur numérique ; un Vector Parameter contient une valeur à quatre canaux.
Quelle est la différence entre un Material Instance et un Dynamic Material Instance ?
Un Material Instance Constant est calculé avant l’exécution et ne change pas pendant le jeu. Un Material Instance Dynamic peut être créé et modifié à l’exécution à l’aide d’un script ou d’un Blueprint.



