Um material interativo reage em uma malha quando cruza ou está próximo de outra malha. Esse efeito é obtido usando um campo de distância.
Veja abaixo três maneiras de criar um material reativo:
-
Usando a distância para criar uma máscara que muda a cor de uma malha,
-
Usando uma onda senoidal para causar ondulações na superfície da malha onde as duas malhas se cruzam e
-
Usando uma máscara de vetor para fazer com que a superfície da malha se desloque em direção a outra malha próxima e cubra a malha de interseção.
O nó DistancetoNearestSurface funciona apenas em plataformas que têm campos de distância habilitados. Portanto, o material pode não funcionar como esperado em PCs e dispositivos móveis de baixo desempenho, pois o cálculo do campo de distância geralmente é um gargalo de desempenho devido a campos de alta resolução ou uma tarefa quase impossível devido a degenerações em malhas de entrada.
Portanto, use ShadingPathSwitch para forçar os shaders em DistancetoNearestSurface a funcionar conforme configurado com plataformas móveis e PCs de baixo desempenho.
Primeiro, comece criando um material que muda de cor quando se intersecciona com outra malha:
-
Crie um novo material no Navegador de Conteúdo e clique duas vezes na miniatura do material para abrir o Editor de Material.
-
Crie os seguintes nós:
-
DistancetoNearestSurface
-
ShadingPathSwitch
-
Dividir
-
Saturar
-
OneMinus
-
Tempo
-
Seno
-
Adicionar
-
VertexNormalWS
-
Máscara
-
3 Multiplicar
-
-
Arraste o nó DistancetoNearestSurface e conecte-o à entrada Padrão no nó ShadingPathSwitch.
-
Selecione o nó Dividir e altere o valor da entrada ConstB para 50.0. Assim a distância entre os objetos para que os efeitos ocorram é determina.
-
Arraste o nó Dividir e conecte-o à entrada Móvel em ShadingPathSwitch. O que garantirá que a máscara de sombreamento funcione corretamente em todas as plataformas.
-
Arraste o plugue do nó ShadingPathSwitch para o nó Saturar. Assim, a cor na malha é saturada.
-
Arraste o nó Saturar e conecte-o ao nó OneMinus. Assim, os shaders na malha são invertidos.
-
Arraste o nó OneMinus e conecte-o à entrada Cor de Base no nó raiz do material.
O que cria a base para a configuração do campo de distância com uma representação matemática da distância entre os objetos. Os shaders criam um efeito de máscara na malha. Experimente isso em uma malha fazendo-a se interseccionar com outra malha para ver como o material reage.

Observe como o material cria uma linha ao redor da forma do automóvel quanto mais ele se aproxima.
Efeito de ondulações
Agora, crie a segunda configuração do material reativo:
-
Arraste o nó Tempo e conecte-o à entrada B do nó Adicionar.
-
Arraste o nó Adicionar e conecte-o ao nó Seno.
-
Arraste o nó Seno e conecte-o à entrada B do primeiro nó Multiplicar.
-
Selecione e expanda o nó Seno e altere o valor de Período para 0.2.
-
Arraste o nó OneMinus e conecte-o à entrada A do primeiro nó Multiplicar.
-
Arraste o primeiro nó Multiplicar e conecte-o à entrada Cor de Base no nó raiz do material. Assim, o vínculo entre o nó OneMinus e o nó raiz do material será desfeito.
Essa configuração aplica cor à malha que agora é reativa, usando a configuração anterior do campo de distância. O material interage com o ambiente e se cria uma malha em torno dele. Quando a malha se intersecciona com outra, o material causa ondulações ao longo da superfície.

Essa configuração é comumente usada para criar água.
Efeito de envolvimento
Agora, para criar a terceira configuração do material reativo:
-
Arraste o nó OneMinus e conecte-o à entrada Cor de Base no nó raiz do material. Assim, o vínculo entre o primeiro nó Multiplicar e o nó raiz do material é desfeito.
-
Arraste o nó VertextNormalWS e conecte-o ao nó Máscara.
-
Arraste o nó Máscara e conecte-o à entrada A no segundo nó Multiplicar.
-
Selecione e expanda o segundo nó Multiplicar, altere o valor da entrada B para 50.0.
-
Arraste o segundo nó Multiplicar e conecte-o à entrada B do terceiro nó Multiplicar.
-
Arraste o nó OneMinus da primeira configuração e conecte-o à entrada A do terceiro nó Multiplicar.
-
Arraste o terceiro nó Multiplicar e conecte-o à entrada Deslocamento de posição no mundo no nó raiz do material.

Esta deve ser a aparência da segunda configuração.

Observe como o material na janela de visualização se altera para parecer pontiagudo. Quando aplicado à malha, a forma da malha também se altera. À medida que a malha se aproxima do automóvel, o material faz com que ela envolva o veículo.
