Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula

arrow_back Aula 10 - Materials - Parte 2

Opaque

Esse é o valor padrão e serve para Materials que serão aplicados a objetos nos quais se espera que sua superfície tenha um aspecto sólido, sem transparência.

A Figura 5 mostra um cubo com o Material Verde (com textura de grama) configurado como Opaque. Observe que é exatamente o mesmo efeito visto até então, opaco e sem transparência. Na cena também foi adicionado, no fundo, um Cylinder Vermelho que estará sempre com o Material padrão. Esse Cylinder está somente com a cor sólida vermelha, a qual foi aplicada para efeitos de comparação.

Figura 05 - Material Verde (com texture de grama) aplicado em um cubo com Rendering Mode Opaque.
Material Verde (com texture de grama) aplicado em um cubo com Rendering Mode Opaque.
Fonte: Captura de tela do Unity – Game Engine. Disponível em: https://unity3d.com/pt/. Acesso em: 03 de abril de 2017.

Cutout

Permite você criar um efeito transparente com transições diretas entre áreas opacas e transparentes. Nesse modo não existe o conceito de “semitransparente”, isto é, ou as áreas da textura são totalmente opacas ou totalmente transparentes. Isso é muito útil quando você está criando uma textura, por exemplo, de uma folha na qual você deseja o contorno determinando que a área interna seja visível e a área externa não. Outro exemplo é uma textura de um tecido perfurado no qual você deseja que as áreas perfuradas sejam totalmente transparentes. Para usar esse modo, você deve escolher uma textura na qual o canal Alpha esteja configurado, ou seja, que tenha informações de quais áreas são transparentes, como essa imagem de uma folha vermelha na Figura 6.

Figura 06 - Textura com transparência que pode ser utilizada no modo Cutout.
Textura com transparência que pode ser utilizada no modo Cutout.

Repare que na Figura 6 existe uma área quadriculada ao redor da folha. Essa área representa a parte transparente dessa imagem que, quando utilizada em um Material, e você deseje que essa área seja também transparente quando aplicada em um objeto, então o Material deve ter o Rendering Mode configurado em Cutout.

Veja na Figura 7 a mesma cena com o Material Vermelho configurado com essa textura da folha e com o Rendering Mode Cutout.

Figura 07 - Material Vermelho com a textura da folha e o Rendering Mode Cutout ativado.
Material Vermelho com a textura da folha e o Rendering Mode Cutout ativado.
Fonte: Captura de tela do Unity – Game Engine. Disponível em: https://unity3d.com/pt/. Acesso em: 03 de abril de 2017.

As configurações do Material Vermelho realizadas foram as mudanças da Textura para essa folha (já importada na pasta Textures) e o Rendering Mode para Cutout. Veja a Figura 8.

Figura 08 - Configuração do Material Vermelho no modo Cutout e com uma textura com transparência.
Configuração do Material Vermelho no modo Cutout e com uma textura com transparência.
Fonte: Captura de tela do Unity – Game Engine. Disponível em: https://unity3d.com/pt/. Acesso em: 03 de abril de 2017.

Repare que uma nova propriedade aparece na configuração do Material Vermelho quando escolhemos o modo Cutout. Essa configuração é o Alpha Cutoff, o qual pode variar de 0 a 1. Ela é necessária, pois o canal Alpha de transparência de uma imagem não é simplesmente binário dessa forma (transparente ou não), ou seja, ele determina qual o grau de transparência de cada área da imagem.

No modo Cutout isso não é suportado, ou seja, cada pixel da imagem é 100% transparente ou 100% opaco. Então, a configuração Alpha Cutoff determina o nível de tolerância do canal Alpha da textura, convertendo os valores intermediários de transparência para 100% ou 0% transparentes, de acordo com a tolerância escolhida no Alpha Cutoff. Essa tolerância, por padrão, é 0.5, ou seja, tudo o que for mais do que 50% transparente é considerado 100%, e tudo o que for abaixo disso é considerado 100% opaco.

Isso parece uma forma de baixa qualidade de tratarmos a transparência, mas, na verdade, se você puder utilizar esse modo, a grande vantagem é que ele é muito rápido, pois não precisa calcular semitransparências durante o jogo.

Versão 5.3 - Todos os Direitos reservados