Neste tutorial, exploraremos uma maneira de mudar rapidamente a tonalidade de uma Textura em um objeto, permitindo-nos criar várias cópias com cores diferentes.
Transcrição do vídeo
Olá a todos!
Neste tutorial, exploraremos uma maneira de mudar rapidamente a tonalidade de uma Textura em um objeto, permitindo-nos criar várias cópias com cores diferentes.
Vamos conseguir isso sem ter que modificar a imagem original da Textura e sem ter que criar materiais adicionais, mas começando com apenas um Material e usando o campo Object Index das diferentes cópias.
Este tutorial foi feito usando a versão 3.6 do Blender.
Certo, vamos começar! Na tela, você pode ver uma cena do Blender na qual eu importei meu modelo 3D como ele aparece logo após o download.

Há dois objetos que compartilham o mesmo Material e o mesmo conjunto de Texturas PBR.
Especificamente, a Textura Base Color colore o corpo principal e a ponta do marcador de amarelo, usando mapeamento UV. Se eu duplicar esses objetos para obter mais marcadores, obviamente obtenho mais marcadores amarelos.

Para mudar as cores das cópias, existem muitas maneiras, algumas mais adequadas do que outras dependendo das circunstâncias. Neste caso particular, a cor a ser alterada é uniforme e, mais importante, o resto do objeto é preto, então podemos usar o nó Hue Saturation Value para mudar a tonalidade da Textura Base Color. Vamos ver como fazer isso.
No Shader Editor, adiciono um nó Color HSV entre a Textura Base Color e sua entrada no nó PBR. Este nó é um simples nó PBR que usei em muitos dos meus modelos 3D, e pode ser facilmente substituído pelo nó Principled BSDF. Não se deixe influenciar pela sua presença aqui.

Ajustando o valor do campo Hue entre 0.0 e 1.0, podemos mudar a tonalidade da Textura nas áreas coloridas, deixando as partes pretas inalteradas.

No entanto, dessa forma, alteraremos a cor de todos os objetos criados duplicando o original, pois essas cópias compartilharão o mesmo material.
Para cada cópia, podemos atribuir um valor numérico chamado Object Index ou Pass Index. Basta selecionar o corpo de um marcador, abrir a aba Object no editor de Properties, e então mudar o valor do campo Pass Index dentro da seção Relations.

Realizo essa ação para as outras cópias também. Obviamente, objetos que compartilham o mesmo índice numérico também compartilharão a mesma cor. Não há necessidade de ajustar o Pass Index para as tampas dos marcadores, já que esses objetos são inteiramente pretos.
O valor do Pass Index de um objeto pode ser recuperado, dentro do Shader editor, usando a saída Object Index de um nó Input Object Info.

No entanto, o valor de saída do campo Object Info será um inteiro maior ou igual a 0, enquanto o que precisamos é um valor entre 0 e 1 como entrada para o campo Hue do nó HSV.
Bem, sem problema! O Blender nos fornece alguns nós que permitem reduzir os valores que configuramos para um intervalo de 0 a 1.
Podemos usar, por exemplo, um nó Converter Math no modo Divide, dividindo o valor vindo do Object Index pelo valor máximo que configuramos para o Pass Index.

Podemos também usar um nó Converter Map Range e definir o valor máximo do Pass Index no campo From Max. O efeito será o mesmo que o Math Divide.

Claro, podemos também usar valores diferentes para a divisão ou mapeamento, resultando em cores claramente diferentes.
Nesse aspecto, o nó Map Range oferece uma vantagem, pois nos permite limitar o mapeamento a um intervalo mais restrito de valores. Veja o que acontece, por exemplo, se eu definir os campos To Min e To Max para 0.0 e 0.5, ou se eu os definir para 0.5 e 1.0.

Em resumo: podemos mudar a tonalidade de uma única Textura de imagem aplicada a vários objetos usando um valor numérico, chamado Pass Index, associado livremente às cópias do objeto original. Desta forma, podemos obter objetos com aparências diferentes, mas originários de um único Material e um único conjunto de Texturas.
Espero que este tutorial tenha sido útil para você! Até breve!