Unity3D 发光Shader

    xiaoxiao2021-03-25  154

    Shader "Custom/LightShader" {     Properties {         _RimColor ("Rim Color", Color) = (1,1,1,0.5)         _InnerColor ("Inner Color", Color) = (1,1,1,0.5)         _InnerColorPower ("Inner Color Power", Range(0.0,1.0)) = 0.5         _RimPower ("Rim Power", Range(0.0,5.0)) = 2.5         _AlphaPower ("Alpha Rim Power", Range(0.0,8.0)) = 4.0         _AllPower ("All Power", Range(0.0, 10.0)) = 1.0     }     SubShader {         Tags { "Queue" = "Transparent" }         CGPROGRAM         #pragma surface surf Lambert alpha         struct Input {         float3 viewDir;         INTERNAL_DATA         };         float4 _RimColor;         float _RimPower;         float _AlphaPower;         //float _AlphaMin;         float _InnerColorPower;         float _AllPower;         float4 _InnerColor;         void surf (Input IN, inout SurfaceOutput o) {         half rim = 1.0 - saturate(dot (normalize(IN.viewDir), o.Normal));         o.Emission = _RimColor.rgb * pow (rim, _RimPower)*_AllPower+(_InnerColor.rgb*2*_InnerColorPower);         o.Alpha = (pow (rim, _AlphaPower))*_AllPower;         }         ENDCG     }     Fallback "VertexLit"

    }

    效果

    转载请注明原文地址: https://ju.6miu.com/read-1317.html

    最新回复(0)