You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
929 B
38 lines
929 B
3 years ago
|
Shader "CGwell FX/Falloff Alpha" {
|
||
|
Properties {
|
||
|
|
||
|
|
||
|
_RimColor ("Rim Color", Color) = (0.5,0.5,0.5,0.5)
|
||
|
_InnerColor ("Inner Color", Color) = (0.5,0.5,0.5,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"
|
||
|
}
|