Consigue un 20% de descuento usando el código RELEASE en la compra de tu libro. Por tiempo limitado.

Introducción al lenguaje de programación de shaders

3.1.8. SubShader AlphaToMask

Esta publicación está disponible en...

Existen algunos tipos de Blending que son muy fáciles de controlar, e.g., “Blend SrcAlpha OneMinusSrcAlpha”, que agrega un efecto transparente con canal Alfa incluido, pero hay otros casos en donde el Blending no es capaz de generar transparencia para nuestro shader. En este caso se utiliza la propiedad “AlphaToMask”, la cual aplica una máscara de cobertura sobre el canal Alpha y es una técnica compatible tanto en Built-in RP como en Scriptable RP.

A diferencia del Blending, una máscara de cobertura sólo puede asignar los valores “uno o cero” para el canal Alpha, ¿qué quiere decir esto? Mientras que el Blending tiene la capacidad de generar distintos niveles de transparencia; niveles que van desde el “0.0” hasta “1.0”, AlphaToMask sólo puede generar números enteros sin decimales. Esto se traduce a un tipo de transparencia más dura, la cual va a funcionar en casos específicos, e.g., es muy útil para vegetación en general como para crear efectos de portales espaciales.

  • AlphaToMask On.
  • AlphaToMask Off, valor por defecto.

Para activar este comando, podemos declararlo tanto en el campo del SubShader como en el del pase. Cuenta sólo con dos valores: “On y Off”, y se declara de la siguiente manera:

Shader “InspectorPath / shaderName”
{
    Properties {} …
    SubShader
    {
        Tags { "Queue" = "Transparent" “RenderType”=”Transparent”} 
        Blend OneMinusDstColor One    
        AlphaToMask On
    }
}

Cabe destacar que a diferencia del Blending, en este caso no es necesario agregar Tags de transparencia ni otros comandos. Simplemente agregamos AlphaToMask y automáticamente el cuarto canal de color “A” adquiere las cualidades de máscara de cobertura en nuestro programa.

Siguenos para mantenerte informado sobre todas las novedades, actualizaciones y más.

Únete al grupo para compartir tus experiencias con otros desarrolladores.

¡Suscríbete a nuestro canal y sigue aprendiendo sobre desarrollo de juegos!

jettelly-logo

Jettelly Team

Somos un equipo de desarrolladores independientes con más de 9 años de experiencia en videojuegos. Como estudio independiente, hemos desarrollado Nom Noms el que publicamos con Hyperbeard en 2019. Actualmente estamos desarrollando La Biblia de Shader en Unity.

Síguenos en nuestras redes sociales.