Sombreador de degradado de color Unity

En Unity, puedes usar Shader para lograr efectos de degradado de color.

Para lograr este efecto, necesita crear un nuevo archivo Shader en Unity. Puede utilizar Surface Shader para simplificar este proceso, porque Surface Shader genera automáticamente buffers de color e iluminación básica para usted.

En Shader, debe definir algunas variables para almacenar el color inicial y el color final del degradado de color. Luego puedes usar una función llamada "lerp" para interpolar los dos colores. La función Lerp interpola entre dos colores según un valor de peso.

Aquí está el código para un Shader de muestra:

Shader"Custom/ColorGradient" {
    Properties {
        _Color1 ("Start Color", Color) = (1,1,1,1)
        _Color2 ("End Color", Color) = (0,0,0,1)
        _Weight ("Weight", Range(0,1)) = 0.5
    }

    SubShader {
        Tags { "RenderType"="Opaque" }

        CGPROGRAM
        #pragma surface surf BlinnPhong
        #pragma target 3.0

        struct Input {
            float2 uv_MainTex;
        };

        sampler2D _MainTex;
        fixed4 _Color1;
        fixed4 _Color2;
        fixed _Weight;

        void surf (Input IN, inout SurfaceOutput o) {
            fixed4 c = lerp(_Color1, _Color2, _Weight);
            o.Albedo = c.rgb;
            o.Alpha = c.a;
        }
        ENDCG
    }
}

Puede utilizar las variables _Color1 y _Color2 en este Shader para establecer el color inicial y el color final del degradado de color. La variable _Weight se puede utilizar para controlar el progreso del degradado de color.

puede

Supongo que te gusta

Origin blog.csdn.net/weixin_35754676/article/details/128866585
Recomendado
Clasificación