Shader de dégradé de couleurs Unity

Dans Unity, vous pouvez utiliser Shader pour obtenir des effets de dégradé de couleurs.

Pour obtenir cet effet, vous devez créer un nouveau fichier Shader dans Unity. Vous pouvez utiliser Surface Shader pour simplifier ce processus, car Surface Shader génère automatiquement des tampons de couleur et un éclairage de base pour vous.

Dans le Shader, vous devez définir certaines variables pour stocker la couleur de début et la couleur de fin du dégradé de couleurs. Vous pouvez ensuite utiliser une fonction appelée "lerp" pour interpoler les deux couleurs. La fonction Lerp interpole entre deux couleurs en fonction d'une valeur de poids.

Voici le code d'un exemple de Shader :

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
    }
}

Vous pouvez utiliser les variables _Color1 et _Color2 dans ce Shader pour définir la couleur de début et la couleur de fin du dégradé de couleurs. La variable _Weight peut être utilisée pour contrôler la progression du dégradé de couleurs.

tu peux

Je suppose que tu aimes

Origine blog.csdn.net/weixin_35754676/article/details/128866585
conseillé
Classement