Nossos cursos em promoção de férias

Unity Shader Graph: usando o node Boolean

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

Publicado em

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.

NomeDireçãoTipoDescrição
PredicateEntradaBoleanoDetermina qual condição será executada
TrueEntradaValor dinâmicoRetorna o predicado se for verdadeiro
FalseEntradaValor dinâmicoRetorna o predicado se for falso
OutSaídaBoleanoValor 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.

Unity Shader Graph - Node Boolean e Branch
Unity Shader Graph - Node Boolean e Branch
Por hora é isso, a ideia era trazer essa rápida dica.
A gente se vê em breve.

Gunnar Correa
Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web, Especialista em Tecnologias na Educação e Pós-graduando em Segurança da Informação. Começou seus estudos na área de programação quando era criança, e atualmente, está estudando desenvolvimento de jogos. Fundador da SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.

Deixe um comentário
Aguarde...