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.0. MPD Enum

Esta publicación está disponible en...

Este drawer es muy similar al KeywordEnum con la diferencia de que se puede definir un “valor/id” como argumento y pasar esta propiedad a un comando en nuestro shader para así cambiar su funcionalidad de manera dinámica desde el inspector.

Su sintaxis es la siguiente:

[Enum(valor, id_00, valor, id_01, etc ...)] 
    _PropertyName (“Display Name”, Float) = 0

Los Enum no utilizan shader variants, sino que se declaran sobre un comando o función. Para entender su implementación realizaremos la siguiente operación:

Shader “InspectorPath / shaderName”
{
    Properties 
    {
    // declare drawer
    [Enum(Off, 0, Front, 1, Back, 2)] 
        _Face (“Face Culling”, Float) = 0
    } 
    SubShader
    {
        // pass the property to the command  
        Cull [_Face]
        Pass {} ...
    }
}

Como se presenta en el ejemplo, declaramos una propiedad tipo “Enum” llamada “_Face” y pasamos como argumento los valores: Off, 0, Front, 1, Back y 2. Luego agregamos esta propiedad al comando “Cull” que se encuentra en el SubShader, de esta manera podremos cambiar desde el inspector, la cara que deseamos renderizar de nuestro objeto. En la sección 2.2.9 hablaremos del comando Cull en detalle.

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.