讓模型貼圖透明並外發光的特效Shader


Shader "RimAlpha" {
    Properties {
        _MainTex ("Texture", 2D) = "white" {}
        _BumpMap ("Bumpmap", 2D) = "bump" {}
        _RimColor ("Rim Color", Color) = (0.231,0.933,0.890,0.5)
        _RimPower ("Rim Power", Range(0.5,8.0)) = 1.0
    }
    SubShader {
        Tags { 
            "Queue"="Transparent" 
            "IgnoreProjector"="True" 
            "RenderType"="Transparent" 
        }
        Blend SrcAlpha One
        AlphaTest Greater .01

        CGPROGRAM
        #pragma surface surf BlinnPhong alphatest:_Cutoff  

        struct Input {
            float2 uv_MainTex;
            float2 uv_BumpMap;
            float3 viewDir;
        };
        sampler2D _MainTex;
        sampler2D _BumpMap;
        float4 _RimColor;
        float _RimPower;
        void surf (Input IN, inout SurfaceOutput o) {
            o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;
            o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap));
            half rim = 1.0 - saturate(dot (normalize(IN.viewDir), o.Normal));
            o.Alpha = pow (rim, _RimPower);
            o.Emission = _RimColor.rgb * pow (rim, _RimPower) * 1;
        }
        ENDCG
    } 
    Fallback "Diffuse"
}
Shader

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM