Dans ce tutoriel, nous allons voir comment créer un Material Preset dans Substance Painter, c’est-à-dire comment définir notre propre Fill Layer en configurant les textures pour Base Color, Normal et les autres canaux d’information, puis l’enregistrer dans la section Materials du Shelf afin de pouvoir l’utiliser dans d’autres sessions Substance.
L'audio de ce tutoriel n'est pas disponible en Français. Vous pouvez regarder ci-dessous la vidéo avec l'audio en Anglais et des sous-titres en Français, en Anglais et dans d’autres langues. Sous la vidéo, vous trouverez la transcription traduite en Français.
Transcription de la vidéo
Bonjour à tous ! Dans ce tutoriel, nous allons voir comment créer un Material Preset dans Substance Painter, c’est-à-dire comment définir notre propre Fill Layer en configurant les textures pour Base Color, Normal et les autres canaux d’information, puis l’enregistrer dans la section Materials du Shelf afin de pouvoir l’utiliser dans d’autres sessions Substance.
Nous souhaitons créer un Material Preset afin de disposer d’un seul élément Material constitué d’une unique couche, plutôt que d’un groupe d’éléments pouvant inclure des filtres, des couches ou des générateurs basés sur des textures, comme c’est le cas avec les Smart Materials. L’idée est de créer un élément de ce type et de le faire glisser dans la pile de couches de notre projet, en l’appliquant soit intégralement, soit partiellement au moyen de layer masks sur nos objets...
... avant de poursuivre, prenons toutefois un instant pour réfléchir à la raison pour laquelle nous voudrions procéder ainsi, sachant que nous pouvons créer des Smart Materials qui, à première vue du moins, semblent beaucoup plus flexibles. En effet, les Smart Materials peuvent contenir plusieurs Layers et Materials, parfois même accompagnés de filtres, de couches ou de générateurs reposant sur des cartes créées à l’aide d’opérations de Bake ou d’autres outils.
La première raison qui vient à l’esprit pour créer un simple Material Preset est la nécessité de construire un matériau à partir d’images de textures externes, par exemple des images Base Color, Normal et Roughness obtenues à partir de photographies, de scans ou même créées manuellement par vous-même ou par quelqu’un d’autre. Il peut également s’agir de textures seamless pouvant être répétées en mosaïque sur une surface sans produire de raccords visibles.
Dans ce cas et dans d’autres situations similaires, il n’est pas nécessaire d’utiliser un Smart Material. Il suffit de :
importer les textures dans la session Substance via File → Import Resources, en définissant le type de ressource sur « Texture » et en les important dans « Current Session », puisqu’il n’est pas nécessaire d’enregistrer CES FICHIERS dans le Shelf étant donné que nous allons enregistrer un Material à la place ;

créer un Fill Layer vide, en activant uniquement les canaux dont nous avons besoin dans la section « Properties - Fill » du Tool Shelf. J’utilise le workflow PBR Metallic ; j’active donc Color, Metal, Roughness, Normal, Height et Opacity, ce dernier uniquement pour indiquer à Substance que, dans cet exemple, le matériau n’est pas transparent ;

faire glisser les textures importées dans le Fill Layer en les plaçant dans les emplacements correspondants, ou définir des valeurs qui seront appliquées uniformément à toute la surface. Dans mon cas, par exemple, je règle le paramètre Opacity sur la valeur 1 ;

... et enfin, cliquer avec le bouton droit dans une zone vide du panneau Properties - Fill puis sélectionner « Create Material Preset » dans le menu qui apparaît : c’est terminé !

Le Material créé de cette manière sera immédiatement disponible dans la section Materials du Shelf et pourra être utilisé comme n’importe quel autre Substance Base Material dans ce projet et dans les projets futurs.

Il est également possible de créer un Material à partir d’un Smart Material, ce qui produit une version « aplatie » de celui-ci, un peu comme lorsque l’on fusionne une pile de calques en une seule couche dans un logiciel de traitement d’images. Cela peut être utile, par exemple, pour économiser des ressources de calcul et même de l’espace disque dans le fichier de projet lorsque l’on travaille sur des scènes très complexes. Cela nous amène à la deuxième raison abordée dans ce tutoriel, pour laquelle je vais utiliser un exemple légèrement plus avancé.
Supposons que nous disposions d’une collection d’objets 3D individuels, chacun avec son propre projet Substance contenant un ou plusieurs Materials et Smart Materials, et que nous souhaitions tout regrouper dans un seul objet utilisant un unique Texture Set. Personnellement, je l’ai fait de nombreuses fois, en combinant plusieurs Assets dans des éléments uniques, ou du moins dans des assets utilisant un seul Texture Set, afin de réduire la consommation de ressources dans les applications temps réel.

Dans ce cas, je commence dans un logiciel de graphisme 3D, Blender dans mon cas, et j’effectue les opérations suivantes :
je place tous les modèles 3D dans une scène Blender, je supprime tous les matériaux d’origine et j’assigne un nouveau matériau aux objets, en utilisant le même matériau partagé pour chacun d’eux ;

ensuite, je redimensionne et déplace les îlots UV de ces objets afin qu’ils tiennent tous dans un seul espace UV sans se chevaucher. À cette étape, il est conseillé de mettre les différentes cartes UV à l’échelle proportionnellement à la taille des objets dans la scène. Par exemple, un stylo peut occuper une zone UV beaucoup plus petite qu’une table ;

avant l’exportation, je décide si je dois fusionner tous les objets en un seul objet ou les laisser séparés tout en partageant le même espace UV et le même Material. Le choix dépend de la manière dont la collection d’objets sera utilisée. Par exemple, si l’ensemble restera à l’arrière-plan de l’application finale et qu’il ne sera jamais nécessaire de déplacer, faire pivoter ou supprimer séparément les différents éléments, alors je fusionne tout en un seul Object. Dans le cas contraire, je laisse les objets séparés ;

enfin, j’exporte l’ensemble sur le disque au format FBX.

De retour dans Substance Painter, je dois maintenant travailler en plusieurs étapes. Je dois d’abord créer des Materials pour chacun des objets individuels, comme montré dans le premier exemple de ce tutoriel. Ensuite, je placerai ces Materials dans le nouveau projet et les transformerai afin qu’ils s’adaptent à la nouvelle disposition UV.

La première étape peut être quelque peu fastidieuse, car je dois ouvrir chaque projet Substance individuel et exporter l’ensemble des textures PBR Metallic sous forme de fichiers image dans un dossier temporaire. Cette opération doit être réalisée pour chaque projet, mais il y a une bonne nouvelle : une fois qu’un Material Preset a été créé à partir de ces textures, il restera disponible dans ma bibliothèque pour une utilisation future. En pratique, cette opération ne doit être effectuée qu’une seule fois pour chaque Asset de votre bibliothèque.

Une fois toutes les exportations nécessaires terminées, nous pouvons enfin créer un nouveau projet Substance avec l’asset que nous souhaitons texturer. Ce projet contiendra un seul Material, construit en assignant les différents Materials, mis à l’échelle, déplacés et avec UV Wrap désactivé dans le panneau Properties - Fill, à des zones spécifiques de la disposition UV.

Même si les couches et effets individuels des matériaux d’origine des objets séparés ne sont plus disponibles, nous pouvons toujours ajouter des filtres et d’autres effets à ces Fill Layers. Au final, nous pouvons exporter l’ensemble du Texture Set et obtenir un modèle ainsi que des images de texture pour un matériau unique.

Voilà, c’est tout pour ce tutoriel ! À la prochaine !