Dans ce tutoriel, nous allons voir une méthode pour modifier rapidement la teinte d’une Texture sur un objet, afin de créer plusieurs copies avec des couleurs différentes.
La version vidéo de ce tutoriel n’est pas actuellement disponible dans cette langue, mais elle est disponible en anglais en sélectionnant la langue correspondante en haut de la page.
Transcription de la vidéo
Bonjour à tous !
Dans ce tutoriel, nous allons voir une méthode pour modifier rapidement la teinte d’une Texture sur un objet, afin de créer plusieurs copies avec des couleurs différentes.
Nous allons faire cela sans modifier l’image de Texture d’origine et sans créer de matériaux supplémentaires, mais en partant d’un seul Material et en utilisant le champ Object Index des différentes copies.
Ce tutoriel a été réalisé avec Blender 3.6.
Très bien, commençons ! À l’écran, vous pouvez voir une scène Blender dans laquelle j’ai importé mon modèle 3D tel qu’il apparaît juste après le téléchargement.

Il y a deux objets qui partagent le même Material et le même ensemble de Textures PBR.
Plus précisément, la Texture Base Color colore le corps principal et la pointe du surligneur en jaune, en utilisant le UV mapping. Si je duplique ces objets pour obtenir plus de surligneurs, j’obtiens évidemment d’autres surligneurs jaunes.

Pour changer les couleurs des copies, il existe plusieurs méthodes, certaines plus adaptées que d’autres selon les cas. Dans ce cas précis, la couleur à modifier est uniforme et, surtout, le reste de l’objet est noir, nous pouvons donc utiliser le nœud Hue Saturation Value pour modifier la teinte de la Texture Base Color. Voyons comment faire.
Dans le Shader Editor, j’ajoute un nœud Color HSV entre la Texture Base Color et son entrée vers le nœud PBR. Ce nœud est un simple nœud PBR que j’ai utilisé dans plusieurs de mes modèles 3D, et il peut être facilement remplacé par le nœud Principled BSDF. Ne vous laissez pas influencer par sa présence ici.

En ajustant la valeur du champ Hue entre 0.0 et 1.0, nous pouvons modifier la teinte de la Texture dans les zones colorées, tout en laissant les parties noires inchangées.

Cependant, de cette façon, nous modifierons la couleur de tous les objets créés en dupliquant l’original, puisque ces copies partageront le même Material.
Pour chaque copie, nous pouvons attribuer une valeur numérique appelée Object Index ou Pass Index. Il suffit de sélectionner le corps d’un surligneur, d’ouvrir l’onglet Object dans le Properties editor, puis de modifier la valeur du champ Pass Index dans la section Relations.

J’effectue cette opération pour les autres copies également. Évidemment, les objets qui partagent le même index numérique partageront aussi la même couleur. Il n’est pas nécessaire de modifier le Pass Index pour les capuchons des surligneurs, puisque ces objets sont entièrement noirs.
La valeur Pass Index d’un objet peut être récupérée, dans le Shader editor, en utilisant la sortie Object Index d’un nœud Input Object Info.

Cependant, la valeur fournie par le nœud Object Info sera un entier supérieur ou égal à 0, alors que nous avons besoin d’une valeur comprise entre 0 et 1 comme entrée pour le champ Hue du nœud HSV.
Eh bien, aucun problème ! Blender nous fournit quelques nœuds qui permettent de ramener les valeurs définies dans une plage de 0 à 1.
Nous pouvons utiliser, par exemple, un nœud Converter Math en mode Divide, en divisant la valeur provenant de Object Index par la valeur maximale définie pour le Pass Index.

Nous pouvons aussi utiliser un nœud Converter Map Range et définir la valeur maximale du Pass Index dans le champ From Max. L’effet sera le même qu’avec Math en mode Divide.

Bien sûr, nous pouvons aussi utiliser des valeurs différentes pour la division ou le mapping, ce qui produira des couleurs clairement différentes.
À ce propos, le nœud Map Range offre un avantage, car il permet de limiter le mapping à une plage de valeurs plus restreinte. Regardez ce qui se passe, par exemple, si je règle les champs To Min et To Max sur 0.0 et 0.5, ou sur 0.5 et 1.0.

En résumé, nous pouvons modifier la teinte d’une seule Texture d’image appliquée à plusieurs objets en utilisant une valeur numérique appelée Pass Index, librement associée aux copies de l’objet d’origine. De cette manière, nous pouvons obtenir des objets avec des apparences différentes tout en partant d’un seul Material et d’un seul ensemble de Textures.
J’espère que ce tutoriel vous a été utile ! À bientôt !