| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- // Made with Amplify Shader Editor
- // Available at the Unity Asset Store - http://u3d.as/y3X
- Shader "MoleGame/Efxadd/Additive/AutoNoise-Mask-Fre"
- {
- Properties
- {
- _DistortMap("DistortMap", 2D) = "white" {}
- _Speed("Speed", Range( 0 , 1)) = 0.1
- _Distrot("Distrot", Range( 0 , 0.1)) = 0.1
- _DistortOffset("DistortOffset", Range( -2 , 2)) = -0.8
- _MaskMap("MaskMap", 2D) = "white" {}
- _Alpha("Alpha", Range( 0 , 5)) = 2
- _Tiling("Tiling", Range( 0 , 5)) = 0
- _DisFrePower("Dis-Fre-Power", Range( 0 , 30)) = 6.318185
- _DisFreScale("Dis-Fre-Scale", Range( 0 , 2)) = 1.430902
- [Toggle]_DisFreinvert("Dis-Fre-invert", Float) = 1
- [HDR]_FreColor("Fre-Color", Color) = (1,1,1,1)
- _ColorFrePower("Color-Fre-Power", Range( 0 , 30)) = 6.318185
- _ColorFreScale("Color-Fre-Scale", Range( 0 , 2)) = 1.430902
- [Toggle]_ColorFreinvert("Color-Fre-invert", Float) = 1
- [HideInInspector] _texcoord( "", 2D ) = "white" {}
- [HideInInspector] __dirty( "", Int ) = 1
- }
- SubShader
- {
- Tags{ "RenderType" = "Transparent" "Queue" = "Overlay+0" "IsEmissive" = "true" }
- Cull Back
- ZWrite Off
- Blend SrcAlpha OneMinusSrcAlpha
-
- GrabPass{ }
- CGPROGRAM
- #include "UnityShaderVariables.cginc"
- #pragma target 3.0
- #pragma surface surf Unlit keepalpha noshadow
- struct Input
- {
- float3 worldPos;
- float3 worldNormal;
- float4 screenPos;
- float2 uv_texcoord;
- float4 vertexColor : COLOR;
- };
- uniform float4 _FreColor;
- uniform float _ColorFreinvert;
- uniform float _ColorFreScale;
- uniform float _ColorFrePower;
- uniform sampler2D _GrabTexture;
- uniform sampler2D _DistortMap;
- uniform float _Tiling;
- uniform float _Speed;
- uniform float _DistortOffset;
- uniform sampler2D _MaskMap;
- uniform float _Alpha;
- uniform float _Distrot;
- uniform float _DisFreinvert;
- uniform float _DisFreScale;
- uniform float _DisFrePower;
- inline half4 LightingUnlit( SurfaceOutput s, half3 lightDir, half atten )
- {
- return half4 ( 0, 0, 0, s.Alpha );
- }
- void surf( Input i , inout SurfaceOutput o )
- {
- float3 ase_worldPos = i.worldPos;
- float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
- float3 ase_worldNormal = i.worldNormal;
- float fresnelNdotV61 = dot( ase_worldNormal, ase_worldViewDir );
- float fresnelNode61 = ( 0.0 + _ColorFreScale * pow( 1.0 - fresnelNdotV61, _ColorFrePower ) );
- float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 );
- float4 ase_screenPosNorm = ase_screenPos / ase_screenPos.w;
- ase_screenPosNorm.z = ( UNITY_NEAR_CLIP_VALUE >= 0 ) ? ase_screenPosNorm.z : ase_screenPosNorm.z * 0.5 + 0.5;
- float2 appendResult8 = (float2(ase_screenPosNorm.x , ase_screenPosNorm.y));
- float2 temp_cast_0 = (_Tiling).xx;
- float mulTime26 = _Time.y * _Speed;
- float2 panner32 = ( 1.0 * _Time.y * float2( 0,0 ) + ( mulTime26 * float2( 0.24,0.24 ) ));
- float2 uv_TexCoord27 = i.uv_texcoord * temp_cast_0 + panner32;
- float4 tex2DNode9 = tex2D( _DistortMap, uv_TexCoord27 );
- float2 temp_cast_1 = (_Tiling).xx;
- float mulTime40 = _Time.y * _Speed;
- float2 panner41 = ( 1.0 * _Time.y * float2( 0,0 ) + ( mulTime40 * float2( -0.24,0.1 ) ));
- float2 uv_TexCoord37 = i.uv_texcoord * temp_cast_1 + panner41;
- float4 tex2DNode34 = tex2D( _DistortMap, uv_TexCoord37 );
- float2 appendResult17 = (float2(( tex2DNode9.r + tex2DNode34.r ) , ( tex2DNode9.g + tex2DNode34.r )));
- float2 temp_output_42_0 = ( appendResult17 * _DistortOffset );
- float4 tex2DNode4 = tex2D( _MaskMap, temp_output_42_0 );
- float4 clampResult15 = clamp( ( ( tex2DNode4 * tex2DNode4.a * i.vertexColor.a ) * _Alpha ) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) );
- float2 lerpResult2 = lerp( appendResult8 , temp_output_42_0 , saturate( ( clampResult15 * _Distrot ) ).rg);
- float4 screenColor1 = tex2D( _GrabTexture, lerpResult2 );
- o.Emission = ( ( _FreColor * lerp(saturate( ( 1.0 - fresnelNode61 ) ),saturate( fresnelNode61 ),_ColorFreinvert) ) + screenColor1 ).rgb;
- float fresnelNdotV45 = dot( ase_worldNormal, ase_worldViewDir );
- float fresnelNode45 = ( 0.0 + _DisFreScale * pow( 1.0 - fresnelNdotV45, _DisFrePower ) );
- o.Alpha = ( lerp(saturate( ( 1.0 - fresnelNode45 ) ),saturate( fresnelNode45 ),_DisFreinvert) * clampResult15 ).r;
- }
- ENDCG
- }
- }
|