En este tutorial, exploraremos una forma de cambiar rápidamente el tono de una Textura en un objeto, permitiéndonos crear múltiples copias con diferentes colores.
Transcripción del video
¡Hola a todos! En este tutorial, exploraremos una forma de cambiar rápidamente el tono de una Textura en un objeto, permitiéndonos crear múltiples copias con diferentes colores.
Lograremos esto sin tener que modificar la imagen de Textura original y sin tener que crear materiales adicionales, sino comenzando con solo un Material y usando el campo Object Index de las diferentes copias.
Este tutorial se hizo usando la versión 3.6 de Blender.
¡Bien, empecemos! En pantalla, pueden ver una escena de Blender en la que he importado mi modelo 3D tal como aparece justo después de descargarlo.

Hay dos objetos que comparten el mismo Material y el mismo conjunto de Texturas PBR.
Específicamente, la Textura Base Color colorea el cuerpo principal y la punta del marcador de amarillo, utilizando mapeo UV. Si duplico estos objetos para obtener más marcadores, obviamente obtengo más marcadores amarillos.

Para cambiar los colores de las copias, hay muchas formas, algunas más adecuadas que otras dependiendo de las circunstancias. En este caso particular, el color a cambiar es uniforme, y lo más importante, el resto del objeto es negro, así que podemos usar el nodo Hue Saturation Value para cambiar el tono de la Textura Base Color. Veamos cómo hacerlo.
En el Shader Editor, añado un nodo Color HSV entre la Textura Base Color y su entrada al nodo PBR. Este nodo es un simple nodo PBR que he utilizado en muchos de mis modelos 3D, y puede ser fácilmente reemplazado por el nodo Principled BSDF. No te dejes influenciar por su presencia aquí.

Ajustando el valor del campo Hue entre 0.0 y 1.0, podemos cambiar el tono de la Textura en las áreas coloreadas, dejando las partes negras sin cambios.

Sin embargo, de esta manera, alteraremos el color de todos los objetos creados al duplicar el original, ya que estas copias compartirán el mismo material.
Para cada copia, podemos asignar un valor numérico llamado Object Index o Pass Index. Solo tenemos que seleccionar el cuerpo de un marcador, abrir la pestaña Object en el editor Properties, y luego cambiar el valor del campo Pass Index dentro de la sección Relations.

Realizo esta acción también para las otras copias.
Obviamente, los objetos que compartan el mismo índice numérico también compartirán el mismo color.
No es necesario ajustar el Pass Index para las tapas de los marcadores, ya que esos objetos son completamente negros.
El valor de Pass Index de un objeto se puede recuperar, dentro del Shader editor, usando la salida Object Index de un nodo Input Object Info.

Sin embargo, el valor que se obtiene del campo Object Info será un entero mayor o igual a 0, mientras que lo que necesitamos es un valor entre 0 y 1 como entrada para el campo Hue del nodo HSV.
¡No hay problema!
Blender nos proporciona un par de nodos que nos permiten reducir los valores que establecemos a un rango de 0 a 1.
Podemos usar, por ejemplo, un nodo Converter Math en modo Divide, dividiendo el valor que proviene del Object Index por el valor máximo que establecemos para el Pass Index.

Alternativamente, podemos usar un nodo Converter Map Range y establecer el valor máximo de Pass Index en el campo From Max. El efecto será el mismo que el Math Divide.

Por supuesto, también podemos usar diferentes valores para la división o el mapeo, resultando en colores claramente diferentes.
En este sentido, el nodo Map Range ofrece una ventaja, ya que nos permite limitar el mapeo a un rango más estrecho de valores. Mira lo que sucede, por ejemplo, si establezco los campos To Min y To Max a 0.0 y 0.5, o si los establezco a 0.5 y 1.0.

En resumen: podemos cambiar el tono de una única Textura de imagen aplicada a múltiples objetos usando un valor numérico, llamado Pass Index, libremente asociado con las copias del objeto original. De esta manera, podemos obtener objetos con apariencias diferentes pero originarios de un solo Material y un único conjunto de Texturas.
¡Espero que este tutorial te haya sido útil! ¡Hasta pronto!