Para examinar com precisão os parâmetros individuais do Variações-Shaders, criamos um novo Material, ativando o Canal de Cor juntamente com o Canal de Reflexão configurado por padrão, ao clicar duas vezes em um local livre no Gerenciador de Materiais.
O Variações-Shaders deve proporcionar variações de cor no Canal de Cor, portanto, adicionamos o Shader como uma Textura através do botão de seta correspondente. Encontramos o Variações-Shaders no submenu dos Shaders de Efeito.
A visualização do Material colorido já sugere que algo mudou na cor do Material. Para acessar o extenso diálogo de configurações, clique no Botão de Textura do Variações-Shaders.
Modos de Variação
No segmento Modos de Variação das Propriedades do Shader, trata-se das configurações básicas da variação. O Valor Inicial proporciona a distribuição aleatória e pode ser variado através de uma outra definição.
Se o Variações-Shaders deve atuar nos Objetos em si, podemos decidir no menu correspondente se as variações devem ser aplicadas a diferentes Objetos, Nomes de Objetos, níveis hierárquicos (Over-Object), clones (Render Instances) ou também IDs de Canal de Objetos.
No entanto, antes de explorarmos a variação baseada em objetos com um Objeto Clone, desativamos a Variação do Objeto e analisamos inicialmente a Variação do Polígono.
Aqui também, você pode decidir através de um menu se todos os Polígonos associados ao objeto devem variar entre diferentes Seleções de Polígonos ou entre as Tesselas UV - em nosso exemplo, todos os Polígonos devem ser afetados.
A visualização do Material mostra que, a partir das configurações padrão, já foram geradas inúmeras variações de cor, portanto podemos aplicar o Material a um simples objeto de exemplo poligonal.
Texturizando o Cubo Poligonal
Para o nosso primeiro exemplo, um Objeto Cubo Paramétrico com seis subdivisões é suficiente, que posteriormente podemos converter em um Objeto Poligonal usando o comando Converter Objeto Básico (Atalho C). para obter os Polígonos desejados para o nosso Variações-Shaders.
Para texturizar o cubo poligonal com o Material Variações-Shaders, arraste o Material sobre o Objeto Cubo no Gerenciador de Objetos. Todas as configurações no Tag de Textura correspondente podem permanecer nos valores padrão.
Após texturizar o cubo, infelizmente, não podemos ver o nosso Variações-Shaders no Editor. Neste caso, o OpenGL avançado também não ajuda, portanto, precisamos renderizar ou pelo menos trazer uma Área de Renderização Interativa para a visualização.
Para isso, ative no menu Renderizar a Área de Renderização Interativa …
… e posicione-a no centro da nossa visualização do Editor. Como definimos, cada Polígono do cubo tem uma cor diferente, mesmo que momentaneamente apenas com as configurações padrão das Cores Aleatórias.
Cores Aleatórias
Portanto, é hora de nos concentrarmos no coração do Variações-Shaders, a seção Variação de Cor. Como mencionado anteriormente, as variações de cor atualmente nos Polígonos são baseadas nas Cores Aleatórias padrão. Podemos controlar este parâmetro tanto de forma percentual quanto através do seu Modo de Cores Aleatórias. Isso se refere à computação das cores próximas entre si, como conhecemos dos modos de camada de outros Shaders no Cinema 4D ou, é claro, no Photoshop.
Mantemos a variação de cor através das Cores Aleatórias nos valores padrão e aumentamos o parâmetro Etapa de Polígonos na seção Modo de Variação para 3, a fim de avaliar melhor as mudanças futuras.
Com esta alteração, agora 3 Polígonos do nosso Cubo Poligonal são agrupados e recebem uma variante de cor.
Embora ainda trabalhemos exclusivamente com a variação de cor Cores Aleatórias, de modo algum esgotamos todas as possibilidades. A seção Variação de Gradação de Cor nos oferece um total de seis amplamente conhecidos Parâmetros de Correção de Cor, que podemos aplicar individualmente em porcentagem às Cores Aleatórias.
A alteração de Contraste, Gama e Saturação mostrada acima certamente torna as Cores Aleatórias usadas mais vivas.
Variações de Cor Direcionadas
Agora vamos para a parte mais importante do Shader de Variações, a seção Variação de Cor. Aqui encontramos diferentes abordagens de variação que podemos usar individualmente (como até agora com as Cores Aleatórias), mas também combinando umas com as outras. Para examinar as diferentes possibilidades separadamente, definimos as Cores Aleatórias como 0% e iniciamos com uma Textura Base.
Carregue um Shader de Cor como Textura Base clicando na seta.
Clicando no botão do Shader Cor ou, de forma mais simples, expandindo a vinculação através da pequena seta ao lado da Textura Base, abrimos o diálogo de configuração do Shader de Cor. Optei por um vermelho intenso como Textura Base.
Para completar o Modo de Variação da Textura Base e Textura Secundária, carregamos outro Shader como Textura Secundária clicando na seta dessa textura. Escolhi um Noise-Shader para que seja facilmente identificável em quais áreas ou Polígonos cada tipo de variação é aplicado.
Para o Noise-Shader da Textura Secundária, escolhi a opção de Noise Poxo com um tamanho global reduzido de 5%.
Uma olhada na área de renderização interativa em nossa visualização do editor mostra as diversas Variações resultantes da Textura Base e da Textura Secundária especificadas.
Também para a Variação com Textura Base e Textura Secundária, temos dois parâmetros para ajustar a mistura e o modo de cálculo disponíveis. Ao reduzir a mistura e calcular a Textura Secundária usando o modo Luz Suave, por exemplo…
… a Textura Secundária praticamente desaparece, sendo visível apenas na Variação da Textura Base.
Passamos agora para a terceira opção dentro da seção Variação de Cor, o Degradê de Cores. Para uma melhor comparação, excluí a variação de cor anterior de Textura Base e Textura Secundária, mas você também pode simplesmente definir o controle deslizante de mistura da Textura Secundária como 0% se desejar manter a Textura Base.
Por padrão, um Degradê que vai do azul ao branco está definido como o Degradê de Cores.
Para a Variação, isso significa que, para nossos Polígonos, são utilizadas cores aleatórias, mas exclusivamente as cores contidas no degradê predefinido.
Agora, adicionamos novamente a Textura Base anteriormente usada com o vermelho intenso e selecionamos um modo adequado, como Sobreposição, para combinar as duas fontes de cor das Variações…
… assim, podemos ajustar muito bem as cores 'aleatórias' usadas em nosso cubo de polígonos de acordo com nossas expectativas de cor.
Variação de Cor em Clones
Até agora, nos concentramos nas variações de cor nos Polígonos de um Cubo. Agora vamos ver a variação específica do objeto no exemplo clássico de um Objeto Clone. Em minha cena de exemplo simples, um Objeto Clone está responsável pela reprodução dos Objetos Cilindros em um carpete de Clones. O Material com o Shader de Variações foi atribuído ao Objeto Clone.
No diálogo de configuração do shader de variações, precisamos trocar no anel de modo de variação dos clones a variação de polígonos utilizada até agora por uma variação de objetos. Para isso, desativamos a variação de polígonos e selecionamos para a variação de objetos o modo instâncias de renderização adequado para os clones.
Todos os outros parâmetros permanecem idênticos em comparação com a última variação de polígonos, resultando no tapete de clones coloridos a partir da textura base vermelha e do degradê azul e branco durante a renderização.
A partir desta variação de cores, podemos agora explorar as outras opções no anel de modo de variação. Usamos o parâmetro probabilidade para determinar a proporção de clones a serem variados (visíveis na área de renderização interativa).
Podemos controlar a ocorrência ou distribuição dos clones variáveis também através de uma textura ou shader. Para isso, temos novamente o botão de seta no parâmetro máscara global para carregar uma imagem ou shader adequado.
No meu exemplo, reajustei a probabilidade para 100%, escolhi um azul escuro como textura base e carreguei um noise shader como textura através do botão de seta para a máscara global.
Dependendo de como os clones são projetados ou como a textura está mapeada no objeto clone na tag de textura, a escolha do espaço no diálogo de configuração do noise shader terá efeito. Na maioria dos casos, o parâmetro espaço deve funcionar em mundo, mas no meu exemplo, apliquei a textura no tapete de clones através do mapeamento de área e pude escolher UV (2D).
Com um tamanho global adequado, juntamente com recorte superior e inferior e um contraste aumentado, obtive uma máscara útil para o exemplo.
No renderização, vemos nas áreas pretas a textura base azul escura nas áreas brancas os clones variáveis ocupam. É possível notar nos clones mais próximos que a máscara global age nos clones através do mapeamento de área.
Para completar, abordaremos os dois últimos tópicos do shader de variações.
No modo de variação de coordenadas UVW, é possível obter uma variação movendo, espelhando ou girando as coordenadas UVW, muito útil em estruturas repetitivas em forma de azulejos ou parquet. A opção limitar a 1 garante que ao calcular variações, não ocorram valores de cor maiores que RGB (255, 255, 255) — necessário ao usar imagens HDR, devendo ser desativada.
Todas as formas de variação apresentadas neste tutorial podem ser combinadas e ajustadas conforme necessário.