UPF/Assets/NEW VFX TO CHECK/Shaders/Image Effects/Tests/Screen Rain.shader

277 lines
15 KiB
GLSL

// Made with Amplify Shader Editor
// Available at the Unity Asset Store - http://u3d.as/y3X
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Screen Rain"
{
Properties
{
_MainTex ( "Screen", 2D ) = "black" {}
_TextureSample1("Texture Sample 1", 2D) = "white" {}
_Tiling("Tiling", Float) = 1
_Amount("Amount", Range( 0 , 1)) = 0
_Speed("Speed", Float) = 0
_NoiseAmount("Noise Amount", Range( 0 , 1)) = 1
_NoiseSpeed("Noise Speed", Float) = 0
_NoiseTiling("Noise Tiling", Float) = 4
_TimeNoiseAmount("Time Noise Amount", Range( 0 , 1)) = 1
_TimeNoiseSpeed("Time Noise Speed", Float) = 0
_TimeNoiseTiling("Time Noise Tiling", Float) = 4
}
SubShader
{
ZTest Always
Cull Off
ZWrite Off
Pass
{
CGPROGRAM
#pragma vertex vert_img_custom
#pragma fragment frag
#pragma target 3.0
#include "UnityCG.cginc"
#include "UnityShaderVariables.cginc"
struct appdata_img_custom
{
float4 vertex : POSITION;
half2 texcoord : TEXCOORD0;
};
struct v2f_img_custom
{
float4 pos : SV_POSITION;
half2 uv : TEXCOORD0;
half2 stereoUV : TEXCOORD2;
#if UNITY_UV_STARTS_AT_TOP
half4 uv2 : TEXCOORD1;
half4 stereoUV2 : TEXCOORD3;
#endif
};
uniform sampler2D _MainTex;
uniform half4 _MainTex_TexelSize;
uniform half4 _MainTex_ST;
uniform sampler2D _TextureSample1;
uniform float _Tiling;
uniform float _Speed;
uniform float _TimeNoiseTiling;
uniform float _TimeNoiseSpeed;
uniform float _TimeNoiseAmount;
uniform float _NoiseTiling;
uniform float _NoiseSpeed;
uniform float _NoiseAmount;
uniform float _Amount;
float3 mod2D289( float3 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
float2 mod2D289( float2 x ) { return x - floor( x * ( 1.0 / 289.0 ) ) * 289.0; }
float3 permute( float3 x ) { return mod2D289( ( ( x * 34.0 ) + 1.0 ) * x ); }
float snoise( float2 v )
{
const float4 C = float4( 0.211324865405187, 0.366025403784439, -0.577350269189626, 0.024390243902439 );
float2 i = floor( v + dot( v, C.yy ) );
float2 x0 = v - i + dot( i, C.xx );
float2 i1;
i1 = ( x0.x > x0.y ) ? float2( 1.0, 0.0 ) : float2( 0.0, 1.0 );
float4 x12 = x0.xyxy + C.xxzz;
x12.xy -= i1;
i = mod2D289( i );
float3 p = permute( permute( i.y + float3( 0.0, i1.y, 1.0 ) ) + i.x + float3( 0.0, i1.x, 1.0 ) );
float3 m = max( 0.5 - float3( dot( x0, x0 ), dot( x12.xy, x12.xy ), dot( x12.zw, x12.zw ) ), 0.0 );
m = m * m;
m = m * m;
float3 x = 2.0 * frac( p * C.www ) - 1.0;
float3 h = abs( x ) - 0.5;
float3 ox = floor( x + 0.5 );
float3 a0 = x - ox;
m *= 1.79284291400159 - 0.85373472095314 * ( a0 * a0 + h * h );
float3 g;
g.x = a0.x * x0.x + h.x * x0.y;
g.yz = a0.yz * x12.xz + h.yz * x12.yw;
return 130.0 * dot( m, g );
}
v2f_img_custom vert_img_custom ( appdata_img_custom v )
{
v2f_img_custom o;
o.pos = UnityObjectToClipPos ( v.vertex );
o.uv = float4( v.texcoord.xy, 1, 1 );
#if UNITY_UV_STARTS_AT_TOP
o.uv2 = float4( v.texcoord.xy, 1, 1 );
o.stereoUV2 = UnityStereoScreenSpaceUVAdjust ( o.uv2, _MainTex_ST );
if ( _MainTex_TexelSize.y < 0.0 )
o.uv.y = 1.0 - o.uv.y;
#endif
o.stereoUV = UnityStereoScreenSpaceUVAdjust ( o.uv, _MainTex_ST );
return o;
}
half4 frag ( v2f_img_custom i ) : SV_Target
{
#ifdef UNITY_UV_STARTS_AT_TOP
half2 uv = i.uv2;
half2 stereoUV = i.stereoUV2;
#else
half2 uv = i.uv;
half2 stereoUV = i.stereoUV;
#endif
half4 finalColor;
// ase common template code
float2 uv19 = i.uv.xy * float2( 1,1 ) + float2( 0,0 );
float2 appendResult14 = (float2(( _ScreenParams.x / _ScreenParams.y ) , 1.0));
float2 temp_cast_0 = (_TimeNoiseTiling).xx;
float2 appendResult49 = (float2(0.0 , ( _Time.y * _TimeNoiseSpeed )));
float2 uv41 = i.uv.xy * temp_cast_0 + appendResult49;
float simplePerlin2D40 = snoise( uv41 );
float clampResult44 = clamp( simplePerlin2D40 , 0.0 , 1.0 );
float2 appendResult25 = (float2(0.0 , ( ( _Time.y * _Speed ) + ( clampResult44 * _TimeNoiseAmount ) )));
float2 temp_cast_1 = (_NoiseTiling).xx;
float2 appendResult69 = (float2(0.0 , ( _Time.y * _NoiseSpeed )));
float2 uv71 = i.uv.xy * temp_cast_1 + ( appendResult69 + float2( 10,10 ) );
float simplePerlin2D72 = snoise( uv71 );
float2 appendResult77 = (float2(( simplePerlin2D72 * _NoiseAmount ) , 0.0));
float2 uv8 = i.uv.xy * ( _Tiling * appendResult14 ) + ( appendResult25 + appendResult77 );
float2 temp_cast_2 = (tex2D( _TextureSample1, uv8 ).r).xx;
float2 uv17 = i.uv.xy * float2( 1,1 ) + temp_cast_2;
float2 lerpResult18 = lerp( uv19 , uv17 , _Amount);
finalColor = tex2D( _MainTex, lerpResult18 );
return finalColor;
}
ENDCG
}
}
CustomEditor "ASEMaterialInspector"
}
/*ASEBEGIN
Version=15600
0;549;1446;829;2457.079;1358.123;2.139815;True;False
Node;AmplifyShaderEditor.RangedFloatNode;47;-5504.688,1293.482;Float;False;Property;_TimeNoiseSpeed;Time Noise Speed;11;0;Create;True;0;0;False;0;0;0.1;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleTimeNode;45;-5478.621,1185.736;Float;False;1;0;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;46;-5210.995,1189.212;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleTimeNode;66;-5576.911,1960.721;Float;False;1;0;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;67;-5602.978,2068.467;Float;False;Property;_NoiseSpeed;Noise Speed;8;0;Create;True;0;0;False;0;0;0.05;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;48;-5159.417,1017.042;Float;False;Property;_TimeNoiseTiling;Time Noise Tiling;12;0;Create;True;0;0;False;0;4;8;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.DynamicAppendNode;49;-4983.056,1155.771;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;68;-5309.285,1964.197;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.TextureCoordinatesNode;41;-4757.389,1116.306;Float;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;4,4;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.DynamicAppendNode;69;-5081.346,1930.756;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.Vector2Node;79;-5103.598,2151.431;Float;False;Constant;_NoiseOffset;Noise Offset;13;0;Create;True;0;0;False;0;10,10;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
Node;AmplifyShaderEditor.NoiseGeneratorNode;40;-4426.934,1097.454;Float;True;Simplex2D;1;0;FLOAT2;0.1,0.1;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleAddOpNode;80;-4865.777,1994.024;Float;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.RangedFloatNode;70;-5002.777,1776.629;Float;False;Property;_NoiseTiling;Noise Tiling;9;0;Create;True;0;0;False;0;4;8;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;51;-3849.282,1178.938;Float;False;Property;_TimeNoiseAmount;Time Noise Amount;10;0;Create;True;0;0;False;0;1;0.192;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.ClampOpNode;44;-4152.909,1084.277;Float;True;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;26;-3697.219,881.5978;Float;False;Property;_Speed;Speed;3;0;Create;True;0;0;False;0;0;0.5;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleTimeNode;23;-3533.457,789.3453;Float;False;1;0;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.TextureCoordinatesNode;71;-4600.749,1875.893;Float;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;4,4;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.NoiseGeneratorNode;72;-4270.294,1857.041;Float;True;Simplex2D;1;0;FLOAT2;0.1,0.1;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;73;-3923.611,1963.953;Float;False;Property;_NoiseAmount;Noise Amount;7;0;Create;True;0;0;False;0;1;0.015;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.ScreenParams;12;-3452.492,448.903;Float;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;27;-3336.261,840.67;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;50;-3525.552,1084.666;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleAddOpNode;42;-2949.238,756.7897;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleDivideOpNode;16;-3208.842,428.3325;Float;True;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;75;-3546.908,1854.848;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;10;-3078.593,274.0028;Float;False;Property;_Tiling;Tiling;1;0;Create;True;0;0;False;0;1;1;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.DynamicAppendNode;25;-2737.748,694.1118;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.DynamicAppendNode;14;-2963.693,413.4029;Float;False;FLOAT2;4;0;FLOAT;1;False;1;FLOAT;1;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.DynamicAppendNode;77;-3240.708,1794.292;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.SimpleAddOpNode;81;-2510.714,728.8383;Float;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;15;-2799.094,327.3027;Float;False;2;2;0;FLOAT;0;False;1;FLOAT2;1,0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.TextureCoordinatesNode;8;-2539.519,428.962;Float;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;5,5;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SamplerNode;6;-2197.389,383.8124;Float;True;Property;_TextureSample1;Texture Sample 1;0;0;Create;True;0;0;False;0;None;657476f93a9e6fb42a70a6dbc6f47438;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.RangedFloatNode;20;-1352.281,-287.3864;Float;False;Property;_Amount;Amount;2;0;Create;True;0;0;False;0;0;0.125;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.TextureCoordinatesNode;19;-1658.126,-614.0152;Float;True;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.TextureCoordinatesNode;17;-1645.814,-345.3368;Float;True;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.LerpOp;18;-978.1186,-531.8642;Float;False;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.TemplateShaderPropertyNode;5;-679.3896,-619.5148;Float;False;0;0;_MainTex;Shader;0;5;SAMPLER2D;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.SimpleAddOpNode;30;-4239.978,-941.2803;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.NoiseGeneratorNode;38;-3305.154,-816.6014;Float;True;Simplex2D;1;0;FLOAT2;0.1,0.1;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;33;-4268.266,-1076.427;Float;False;Property;_TextureNoiseTiling;Texture Noise Tiling;5;0;Create;True;0;0;False;0;10;250;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.NoiseGeneratorNode;39;-3299.989,-1107.958;Float;True;Simplex2D;1;0;FLOAT2;0.1,0.1;False;1;FLOAT;0
Node;AmplifyShaderEditor.DynamicAppendNode;35;-3825.814,-977.7712;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.RangedFloatNode;31;-4458.559,-712.3306;Float;False;Property;_TextureNoiseSpeed;Texture Noise Speed;4;0;Create;True;0;0;False;0;1;0.5;0;10;0;1;FLOAT;0
Node;AmplifyShaderEditor.SamplerNode;4;-479.9745,-589.463;Float;True;Property;_TextureSample0;Texture Sample 0;0;0;Create;True;0;0;False;0;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.TextureCoordinatesNode;36;-3635.611,-791.2488;Float;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.TextureCoordinatesNode;37;-3630.446,-1089.106;Float;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.DynamicAppendNode;34;-3827.534,-739.4967;Float;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0
Node;AmplifyShaderEditor.RangedFloatNode;28;-4573.562,-852.5563;Float;False;Property;_TextureNoiseOffset;Texture Noise Offset;6;0;Create;True;0;0;False;0;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;32;-4060.117,-841.4158;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleTimeNode;29;-4568.73,-941.0909;Float;False;1;0;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;1;335.853,-226.0791;Float;False;True;2;Float;ASEMaterialInspector;0;2;Screen Rain;c71b220b631b6344493ea3cf87110c93;0;0;SubShader 0 Pass 0;1;False;False;True;2;False;-1;False;False;True;2;False;-1;True;7;False;-1;False;True;0;False;0;False;False;False;False;False;False;False;False;False;True;2;0;;0;0;Standard;0;1;0;FLOAT4;0,0,0,0;False;0
WireConnection;46;0;45;0
WireConnection;46;1;47;0
WireConnection;49;1;46;0
WireConnection;68;0;66;0
WireConnection;68;1;67;0
WireConnection;41;0;48;0
WireConnection;41;1;49;0
WireConnection;69;1;68;0
WireConnection;40;0;41;0
WireConnection;80;0;69;0
WireConnection;80;1;79;0
WireConnection;44;0;40;0
WireConnection;71;0;70;0
WireConnection;71;1;80;0
WireConnection;72;0;71;0
WireConnection;27;0;23;0
WireConnection;27;1;26;0
WireConnection;50;0;44;0
WireConnection;50;1;51;0
WireConnection;42;0;27;0
WireConnection;42;1;50;0
WireConnection;16;0;12;1
WireConnection;16;1;12;2
WireConnection;75;0;72;0
WireConnection;75;1;73;0
WireConnection;25;1;42;0
WireConnection;14;0;16;0
WireConnection;77;0;75;0
WireConnection;81;0;25;0
WireConnection;81;1;77;0
WireConnection;15;0;10;0
WireConnection;15;1;14;0
WireConnection;8;0;15;0
WireConnection;8;1;81;0
WireConnection;6;1;8;0
WireConnection;17;1;6;1
WireConnection;18;0;19;0
WireConnection;18;1;17;0
WireConnection;18;2;20;0
WireConnection;30;0;29;0
WireConnection;30;1;28;0
WireConnection;38;0;36;0
WireConnection;39;0;37;0
WireConnection;35;0;32;0
WireConnection;4;0;5;0
WireConnection;4;1;18;0
WireConnection;36;0;33;0
WireConnection;36;1;34;0
WireConnection;37;0;33;0
WireConnection;37;1;35;0
WireConnection;34;1;32;0
WireConnection;32;0;30;0
WireConnection;32;1;31;0
WireConnection;1;0;4;0
ASEEND*/
//CHKSM=90A07009407E2404EEA2268D47740E0EF1CEFD36