Unity Shader Graph: usando o node Boolean

Combinando o node Boolean com o node Branch, podemos criar condições para o Shader.

Hoje venho com mais uma dica bem simples, porém, de extrema importância para quem está desenvolvendo os seus Shaders no editor Shader Graph da Unity.

Em vários momentos, precisamos de uma condição para que um node seja de fato, executado ou faça parte de uma conexão, e para isso, devemos usar a propriedade Boolean, pois ela será visível e ajustável no Inspector.

Para criar a condição do que deve ou não passar pelo “switch”, devemos usar o node Branch. Seguindo a documentação, temos algumas informações, que estão resumidas na tabela abaixo.

Nome Direção Tipo Descrição
Predicate Entrada Boleano Determina qual condição será executada
True Entrada Valor dinâmico Retorna o predicado se for verdadeiro
False Entrada Valor dinâmico Retorna o predicado se for falso
Out Saída Boleano Valor de saída

Para entender um pouco melhor, vamos analisar o exemplo abaixo, veja que temos o node boolean chamado de _emission, ele está ligado ao node Branch, na entrada Predicate. Ainda no node Branch, temos mais duas entradas, que são true, ligado ao node Color (laranja) e outro node Color (rosa) ligado a entrada false. Por fim, temos a saída Out, ligado ao node Preview, apenas para exemplificação.

Em resumo, as ligações abaixo define que se o valor de _emission for true, então a cor a ser utilizada deve ser laranja, senão, deve ser rosa. Esse é um exemplo hipotético, mas pode ser utilizado para habilitar ou não efeitos e transições durante a execução do shader.

Por hora é isso, a ideia era trazer essa rápida dica.
A gente se vê em breve.