// Made with Amplify Shader Editor v1.9.2 // Available at the Unity Asset Store - http://u3d.as/y3X Shader "Polyart/Dreamscape Water River" { Properties { [Header(COLOR)]_ColorShallow("Color Shallow", Color) = (0.5990566,0.9091429,1,0) _ColorDeep("Color Deep", Color) = (0.1213065,0.347919,0.5471698,0) _ColorDepthFade("Color Depth Fade", Float) = 0 _Smoothness("Smoothness", Float) = 0 _Opacity("Opacity", Range( 0 , 1)) = 1 [Header(FOAM)]_FoamColor("Foam Color", Color) = (1,1,1,1) _FoamDepthFade("Foam Depth Fade", Float) = 0.19 _FoamCutoff("Foam Cutoff", Float) = 0 _FoamScale("Foam Scale", Float) = 2 [Header(REFRACTION)]_RefractionStrength("Refraction Strength", Float) = 0 _RefractionDepth("Refraction Depth", Float) = 0 [Header(WAVES)]_WaveNormal("Wave Normal", 2D) = "bump" {} _WaveNormalIntensity("Wave Normal Intensity", Range( 0 , 1)) = 1 [Toggle(_WORLDTOOBJECTPOSITION_ON)] _WorldtoObjectPosition("World to Object Position?", Float) = 0 _Displacement("Displacement", 2D) = "gray" {} _DisplaceStrength("Displace Strength", Range( -1 , 1)) = 0 [IntRange]_WaveTiling01("Wave Tiling 01", Range( 0 , 50)) = 1 [Header(REFLECTION)]_ReflectionTex("ReflectionTex", 2D) = "black" {} _ReflectionNormal("Reflection Normal", 2D) = "bump" {} _ReflectionsIntensity("ReflectionsIntensity", Range( 0 , 3)) = 1 _TurbulenceScale("TurbulenceScale", Float) = 1 _TurbulenceTiling("Turbulence Tiling", Float) = 0 _TurbulenceDistortionIntensity("Turbulence Distortion Intensity", Range( 0 , 6)) = 0.8 [HideInInspector] _texcoord( "", 2D ) = "white" {} [HideInInspector] __dirty( "", Int ) = 1 } SubShader { Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" } Cull Off GrabPass{ } CGPROGRAM #include "UnityShaderVariables.cginc" #include "UnityStandardUtils.cginc" #include "UnityCG.cginc" #pragma target 3.0 #pragma shader_feature _WORLDTOOBJECTPOSITION_ON #if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) #define ASE_DECLARE_SCREENSPACE_TEXTURE(tex) UNITY_DECLARE_SCREENSPACE_TEXTURE(tex); #else #define ASE_DECLARE_SCREENSPACE_TEXTURE(tex) UNITY_DECLARE_SCREENSPACE_TEXTURE(tex) #endif #pragma surface surf Standard alpha:fade keepalpha noshadow vertex:vertexDataFunc struct Input { float3 worldPos; float2 uv_texcoord; float4 screenPos; float3 worldNormal; INTERNAL_DATA float eyeDepth; }; uniform sampler2D _Displacement; uniform float _WaveTiling01; uniform float _DisplaceStrength; uniform sampler2D _WaveNormal; uniform float _WaveNormalIntensity; uniform sampler2D _ReflectionTex; uniform sampler2D _ReflectionNormal; uniform float _TurbulenceTiling; uniform float _TurbulenceScale; uniform float _TurbulenceDistortionIntensity; uniform float _ReflectionsIntensity; uniform float4 _ColorShallow; uniform float4 _ColorDeep; UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture ); uniform float4 _CameraDepthTexture_TexelSize; uniform float _ColorDepthFade; ASE_DECLARE_SCREENSPACE_TEXTURE( _GrabTexture ) uniform float _FoamScale; uniform float _RefractionStrength; uniform float _RefractionDepth; uniform float4 _FoamColor; uniform float _FoamDepthFade; uniform float _FoamCutoff; uniform float _Smoothness; uniform float _Opacity; inline float noise_randomValue (float2 uv) { return frac(sin(dot(uv, float2(12.9898, 78.233)))*43758.5453); } inline float noise_interpolate (float a, float b, float t) { return (1.0-t)*a + (t*b); } inline float valueNoise (float2 uv) { float2 i = floor(uv); float2 f = frac( uv ); f = f* f * (3.0 - 2.0 * f); uv = abs( frac(uv) - 0.5); float2 c0 = i + float2( 0.0, 0.0 ); float2 c1 = i + float2( 1.0, 0.0 ); float2 c2 = i + float2( 0.0, 1.0 ); float2 c3 = i + float2( 1.0, 1.0 ); float r0 = noise_randomValue( c0 ); float r1 = noise_randomValue( c1 ); float r2 = noise_randomValue( c2 ); float r3 = noise_randomValue( c3 ); float bottomOfGrid = noise_interpolate( r0, r1, f.x ); float topOfGrid = noise_interpolate( r2, r3, f.x ); float t = noise_interpolate( bottomOfGrid, topOfGrid, f.y ); return t; } float SimpleNoise(float2 UV) { float t = 0.0; float freq = pow( 2.0, float( 0 ) ); float amp = pow( 0.5, float( 3 - 0 ) ); t += valueNoise( UV/freq )*amp; freq = pow(2.0, float(1)); amp = pow(0.5, float(3-1)); t += valueNoise( UV/freq )*amp; freq = pow(2.0, float(2)); amp = pow(0.5, float(3-2)); t += valueNoise( UV/freq )*amp; return t; } float3 PerturbNormal107_g2( float3 surf_pos, float3 surf_norm, float height, float scale ) { // "Bump Mapping Unparametrized Surfaces on the GPU" by Morten S. Mikkelsen float3 vSigmaS = ddx( surf_pos ); float3 vSigmaT = ddy( surf_pos ); float3 vN = surf_norm; float3 vR1 = cross( vSigmaT , vN ); float3 vR2 = cross( vN , vSigmaS ); float fDet = dot( vSigmaS , vR1 ); float dBs = ddx( height ); float dBt = ddy( height ); float3 vSurfGrad = scale * 0.05 * sign( fDet ) * ( dBs * vR1 + dBt * vR2 ); return normalize ( abs( fDet ) * vN - vSurfGrad ); } void vertexDataFunc( inout appdata_full v, out Input o ) { UNITY_INITIALIZE_OUTPUT( Input, o ); float2 temp_cast_0 = (_WaveTiling01).xx; float2 uv_TexCoord91 = v.texcoord.xy * temp_cast_0; float2 panner93 = ( 1.0 * _Time.y * float2( 1,0 ) + uv_TexCoord91); float vDisplacement123 = ( tex2Dlod( _Displacement, float4( panner93, 0, 0.0) ).r * _DisplaceStrength ); float3 temp_cast_1 = (vDisplacement123).xxx; float3 ase_worldPos = mul( unity_ObjectToWorld, v.vertex ); float3 worldToObj100 = mul( unity_WorldToObject, float4( ase_worldPos, 1 ) ).xyz; float3 appendResult101 = (float3(worldToObj100.x , vDisplacement123 , worldToObj100.z)); #ifdef _WORLDTOOBJECTPOSITION_ON float3 staticSwitch138 = appendResult101; #else float3 staticSwitch138 = temp_cast_1; #endif v.vertex.xyz += staticSwitch138; v.vertex.w = 1; o.eyeDepth = -UnityObjectToViewPos( v.vertex.xyz ).z; } void surf( Input i , inout SurfaceOutputStandard o ) { float2 temp_cast_0 = (_WaveTiling01).xx; float2 uv_TexCoord91 = i.uv_texcoord * temp_cast_0; float2 panner93 = ( 1.0 * _Time.y * float2( 1,0 ) + uv_TexCoord91); float3 vNormal90 = UnpackScaleNormal( tex2D( _WaveNormal, panner93 ), _WaveNormalIntensity ); o.Normal = vNormal90; 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 appendResult78 = (float2(( ase_screenPosNorm.x + 0.01 ) , ( ase_screenPosNorm.y + 0.01 ))); float2 temp_cast_3 = (_TurbulenceTiling).xx; float2 uv_TexCoord66 = i.uv_texcoord * temp_cast_3; float2 panner68 = ( 1.0 * _Time.y * float2( 0.1,0.1 ) + ( uv_TexCoord66 * _TurbulenceScale )); float temp_output_77_0 = ( UnpackNormal( tex2D( _ReflectionNormal, panner68 ) ).g * _TurbulenceDistortionIntensity ); float Turbulence86 = temp_output_77_0; float4 lerpResult80 = lerp( ase_screenPosNorm , float4( appendResult78, 0.0 , 0.0 ) , Turbulence86); float4 vReflection132 = ( tex2D( _ReflectionTex, lerpResult80.xy ) * _ReflectionsIntensity ); float screenDepth18 = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE( _CameraDepthTexture, ase_screenPosNorm.xy )); float distanceDepth18 = abs( ( screenDepth18 - LinearEyeDepth( ase_screenPosNorm.z ) ) / ( _ColorDepthFade ) ); float4 lerpResult22 = lerp( _ColorShallow , _ColorDeep , saturate( distanceDepth18 )); float vDisplacement123 = ( tex2D( _Displacement, panner93 ).r * _DisplaceStrength ); float4 lerpResult102 = lerp( lerpResult22 , ( lerpResult22 + float4( 0.5,0.5,0.5,0 ) ) , vDisplacement123); float4 vColorWaves122 = lerpResult102; float4 blendOpSrc85 = vReflection132; float4 blendOpDest85 = vColorWaves122; float4 temp_output_85_0 = ( saturate( ( blendOpSrc85 + blendOpDest85 ) )); float3 ase_worldPos = i.worldPos; float3 surf_pos107_g2 = ase_worldPos; float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) ); float3 surf_norm107_g2 = ase_worldNormal; float mulTime7 = _Time.y * 0.1; float2 temp_cast_5 = (_FoamScale).xx; float2 uv_TexCoord5 = i.uv_texcoord * temp_cast_5; float2 panner8 = ( mulTime7 * float2( 5,0 ) + uv_TexCoord5); float simpleNoise13 = SimpleNoise( panner8*50.0 ); float height107_g2 = simpleNoise13; float scale107_g2 = 1.0; float3 localPerturbNormal107_g2 = PerturbNormal107_g2( surf_pos107_g2 , surf_norm107_g2 , height107_g2 , scale107_g2 ); float3 ase_worldTangent = WorldNormalVector( i, float3( 1, 0, 0 ) ); float3 ase_worldBitangent = WorldNormalVector( i, float3( 0, 1, 0 ) ); float3x3 ase_worldToTangent = float3x3( ase_worldTangent, ase_worldBitangent, ase_worldNormal ); float3 worldToTangentDir42_g2 = mul( ase_worldToTangent, localPerturbNormal107_g2); float3 vRefractionNormal31 = worldToTangentDir42_g2; float eyeDepth28_g3 = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE( _CameraDepthTexture, ase_screenPosNorm.xy )); float2 temp_output_20_0_g3 = ( (vRefractionNormal31).xy * ( _RefractionStrength / max( i.eyeDepth , 0.1 ) ) * saturate( ( eyeDepth28_g3 - i.eyeDepth ) ) ); float eyeDepth2_g3 = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE( _CameraDepthTexture, ( float4( temp_output_20_0_g3, 0.0 , 0.0 ) + ase_screenPosNorm ).xy )); float2 temp_output_32_0_g3 = (( float4( ( temp_output_20_0_g3 * saturate( ( eyeDepth2_g3 - i.eyeDepth ) ) ), 0.0 , 0.0 ) + ase_screenPosNorm )).xy; float2 temp_output_1_0_g3 = ( ( floor( ( temp_output_32_0_g3 * (_CameraDepthTexture_TexelSize).zw ) ) + 0.5 ) * (_CameraDepthTexture_TexelSize).xy ); float4 screenColor36 = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_GrabTexture,temp_output_1_0_g3); float4 vRefraction35 = screenColor36; float4 blendOpSrc58 = temp_output_85_0; float4 blendOpDest58 = vRefraction35; float screenDepth50 = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE( _CameraDepthTexture, ase_screenPosNorm.xy )); float distanceDepth50 = abs( ( screenDepth50 - LinearEyeDepth( ase_screenPosNorm.z ) ) / ( _RefractionDepth ) ); float4 lerpResult32 = lerp( ( saturate( (( blendOpDest58 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest58 ) * ( 1.0 - blendOpSrc58 ) ) : ( 2.0 * blendOpDest58 * blendOpSrc58 ) ) )) , temp_output_85_0 , saturate( distanceDepth50 )); float screenDepth4 = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE( _CameraDepthTexture, ase_screenPosNorm.xy )); float distanceDepth4 = abs( ( screenDepth4 - LinearEyeDepth( ase_screenPosNorm.z ) ) / ( _FoamDepthFade ) ); float vFoam15 = step( ( saturate( distanceDepth4 ) * _FoamCutoff ) , simpleNoise13 ); float4 lerpResult24 = lerp( lerpResult32 , _FoamColor , ( _FoamColor.a * vFoam15 )); float4 vFinalColor62 = lerpResult24; o.Albedo = vFinalColor62.rgb; o.Smoothness = _Smoothness; o.Alpha = _Opacity; } ENDCG } } /*ASEBEGIN Version=19200 Node;AmplifyShaderEditor.CommentaryNode;131;-2199.885,1676.364;Inherit;False;2331.656;642.8052;;13;64;66;65;67;68;87;69;73;71;74;77;79;86;Reclection Distortion;0.6179246,0.6739129,1,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;64;-2067.551,2016.169;Inherit;False;Property;_TurbulenceTiling;Turbulence Tiling;22;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;65;-1832.837,2115.939;Float;False;Property;_TurbulenceScale;TurbulenceScale;21;0;Create;True;0;0;0;False;0;False;1;10;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.TextureCoordinatesNode;66;-1861.836,1998.939;Inherit;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.CommentaryNode;128;-3989.336,973.5341;Inherit;False;2044.674;457.5911;;8;90;94;95;89;112;93;91;92;Wave Normals;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;1;-3489.25,-1144.444;Inherit;False;1848.67;580.5197;;16;15;14;12;10;11;4;3;31;30;13;8;9;6;7;5;2;Foam;1,1,1,1;0;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;67;-1597.838,1998.939;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.RangedFloatNode;2;-3439.25,-805.126;Inherit;False;Property;_FoamScale;Foam Scale;8;0;Create;True;0;0;0;False;0;False;2;56.09;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.PannerNode;68;-1397.837,1996.939;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0.1,0.1;False;1;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.RangedFloatNode;92;-3912.892,1068.539;Inherit;False;Property;_WaveTiling01;Wave Tiling 01;17;1;[IntRange];Create;True;0;0;0;False;0;False;1;1;0;50;0;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;134;-4025.538,1676.491;Inherit;False;1781.178;536.5786;;11;72;70;76;75;78;130;80;82;81;83;132;Reflections;0.3443396,1,0.6541642,1;0;0 Node;AmplifyShaderEditor.SamplerNode;87;-1169.538,1968.639;Inherit;True;Property;_ReflectionNormal;Reflection Normal;19;0;Create;True;0;0;0;False;0;False;-1;70546bb8eb214354e83b7f57e5a4821c;70546bb8eb214354e83b7f57e5a4821c;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.TextureCoordinatesNode;5;-3223.128,-822.689;Inherit;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;91;-3547.697,1052.204;Inherit;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.CommentaryNode;127;-3485.537,466.4326;Inherit;False;1538.236;486.9069;;5;97;123;98;114;96;Displacement;1,1,1,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;71;-1172.842,2166.939;Float;False;Property;_TurbulenceDistortionIntensity;Turbulence Distortion Intensity;23;0;Create;True;0;0;0;False;0;False;0.8;1.11;0;6;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleTimeNode;7;-2968.083,-663.844;Inherit;False;1;0;FLOAT;0.1;False;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;16;-3482.801,-490.967;Inherit;False;1918.707;925.1205;Comment;11;103;102;125;122;23;22;21;20;19;18;17;Color;1,1,1,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;17;-3432.801,-65.24258;Inherit;False;Property;_ColorDepthFade;Color Depth Fade;2;0;Create;True;0;0;0;False;0;False;0;0.78;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;77;-620.2406,2017.639;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;9;-2651.709,-699.8627;Inherit;False;Constant;_Float2;Float 2;6;0;Create;True;0;0;0;False;0;False;50;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.ScreenPosInputsNode;72;-3975.538,1750.069;Float;False;0;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;70;-3885.538,2078.07;Float;False;Constant;_Float4;Float 4;5;0;Create;True;0;0;0;False;0;False;0.01;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.TexturePropertyNode;114;-3435.537,687.8173;Inherit;True;Property;_Displacement;Displacement;15;0;Create;True;0;0;0;False;0;False;b166ccd7e871a3948ac1028410a7fe76;b166ccd7e871a3948ac1028410a7fe76;False;gray;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 Node;AmplifyShaderEditor.PannerNode;93;-3267.681,1051.774;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;1,0;False;1;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.PannerNode;8;-2709.568,-822.427;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;5,0;False;1;FLOAT;1;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SamplerNode;96;-3036.422,516.4327;Inherit;True;Property;_Displace1;Displace 1;15;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Instance;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SimpleAddOpNode;76;-3574.539,1948.07;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;98;-2608.552,820.5944;Inherit;False;Property;_DisplaceStrength;Displace Strength;16;0;Create;True;0;0;0;False;0;False;0;0;-1;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;75;-3576.539,2080.07;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.DepthFade;18;-3227.801,-66.24252;Inherit;False;True;False;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;86;-111.2278,1870.304;Float;False;Turbulence;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.NoiseGeneratorNode;13;-2465.634,-828.3259;Inherit;True;Simple;True;False;2;0;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT;0 Node;AmplifyShaderEditor.ColorNode;19;-3104.985,-239.9671;Inherit;False;Property;_ColorDeep;Color Deep;1;0;Create;True;0;0;0;False;0;False;0.1213065,0.347919,0.5471698,0;0.121306,0.3479185,0.5471698,0.2156863;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SaturateNode;21;-2968.8,-67.24252;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.ColorNode;20;-3078.985,-408.9668;Inherit;False;Property;_ColorShallow;Color Shallow;0;0;Create;True;0;0;0;False;1;Header(COLOR);False;0.5990566,0.9091429,1,0;0.1556599,0.5173416,0.6226414,0.5529412;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.DynamicAppendNode;78;-3368.539,1997.07;Inherit;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;97;-2354.204,747.2921;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;130;-3370.322,2090.697;Inherit;False;86;Turbulence;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.FunctionNode;30;-2175.383,-826.6631;Inherit;False;Normal From Height;-1;;2;1942fe2c5f1a1f94881a33d532e4afeb;0;2;20;FLOAT;0;False;110;FLOAT;1;False;2;FLOAT3;40;FLOAT3;0 Node;AmplifyShaderEditor.LerpOp;22;-2625.206,-113.3675;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;123;-2203.302,741.4259;Inherit;False;vDisplacement;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;80;-3133.538,1755.07;Inherit;False;3;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;2;FLOAT;0;False;1;FLOAT4;0 Node;AmplifyShaderEditor.CommentaryNode;129;-1617.562,-1141.604;Inherit;False;1288.338;330.5057;;5;38;37;29;36;35;Refraction;1,1,1,1;0;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;31;-1894.384,-831.6631;Inherit;False;vRefractionNormal;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RangedFloatNode;3;-2958.535,-1076.027;Inherit;False;Property;_FoamDepthFade;Foam Depth Fade;6;0;Create;True;0;0;0;False;0;False;0.19;7.34;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;125;-2373.227,336.0485;Inherit;False;123;vDisplacement;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;82;-2950.053,1929.34;Float;False;Property;_ReflectionsIntensity;ReflectionsIntensity;20;0;Create;True;0;0;0;False;0;False;1;0.55;0;3;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;37;-1546.187,-1006.432;Inherit;False;Property;_RefractionStrength;Refraction Strength;10;0;Create;True;0;0;0;False;1;Header(REFRACTION);False;0;0.1;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;38;-1567.562,-1091.604;Inherit;False;31;vRefractionNormal;1;0;OBJECT;;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleAddOpNode;103;-2361.698,203.3883;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0.5,0.5,0.5,0;False;1;COLOR;0 Node;AmplifyShaderEditor.DepthFade;4;-2694.736,-1094.127;Inherit;False;True;False;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0 Node;AmplifyShaderEditor.SamplerNode;81;-2963.539,1727.07;Inherit;True;Property;_ReflectionTex;ReflectionTex;18;0;Create;True;0;0;0;False;1;Header(REFLECTION);False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;10;-2614.805,-981.4434;Inherit;False;Property;_FoamCutoff;Foam Cutoff;7;0;Create;True;0;0;0;False;0;False;0;4.86;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;102;-2071.087,176.7405;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;83;-2643.131,1731.462;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.FunctionNode;29;-1270.5,-1087.091;Inherit;False;DepthMaskedRefraction;-1;;3;c805f061214177c42bca056464193f81;2,40,0,103,0;2;35;FLOAT3;0,0,0;False;37;FLOAT;0.02;False;1;FLOAT2;38 Node;AmplifyShaderEditor.SaturateNode;11;-2447.805,-1094.444;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;135;-1522.758,988.5527;Inherit;False;1647.683;631.2351;;14;62;24;28;27;25;32;54;58;26;85;50;133;84;49;Color Blending;1,0.3537736,0.3968199,1;0;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;12;-2285.805,-1093.444;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.ScreenColorNode;36;-785.8376,-1090.775;Inherit;False;Global;_GrabScreen0;Grab Screen 0;4;0;Create;True;0;0;0;False;0;False;Object;-1;False;False;False;False;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RegisterLocalVarNode;132;-2487.359,1726.491;Inherit;False;vReflection;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;122;-1863.157,172.0844;Inherit;False;vColorWaves;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;84;-1472.758,1121.829;Inherit;False;122;vColorWaves;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.RangedFloatNode;49;-1372.582,1298.788;Inherit;False;Property;_RefractionDepth;Refraction Depth;11;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.StepOpNode;14;-2083.804,-1094.444;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;133;-1467.475,1038.553;Inherit;False;132;vReflection;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;35;-572.2237,-1090.303;Inherit;False;vRefraction;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;26;-1132.364,1193.508;Inherit;False;35;vRefraction;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.BlendOpsNode;85;-1147.858,1068.929;Inherit;False;LinearDodge;True;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;1;False;1;COLOR;0 Node;AmplifyShaderEditor.DepthFade;50;-1133.582,1281.788;Inherit;False;True;False;True;2;1;FLOAT3;0,0,0;False;0;FLOAT;1;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;15;-1892.176,-1099.347;Inherit;False;vFoam;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.ColorNode;27;-559.1514,1360.318;Inherit;False;Property;_FoamColor;Foam Color;5;0;Create;True;0;0;0;False;1;Header(FOAM);False;1,1,1,1;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.GetLocalVarNode;25;-535.4624,1533.403;Inherit;False;15;vFoam;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.SaturateNode;54;-868.0813,1282.187;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.BlendOpsNode;58;-784.3503,1071.296;Inherit;False;Overlay;True;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;1;False;1;COLOR;0 Node;AmplifyShaderEditor.TexturePropertyNode;112;-3400.838,1223.847;Inherit;True;Property;_WaveNormal;Wave Normal;12;0;Create;True;0;0;0;False;1;Header(WAVES);False;70546bb8eb214354e83b7f57e5a4821c;70546bb8eb214354e83b7f57e5a4821c;True;bump;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1 Node;AmplifyShaderEditor.CommentaryNode;137;-1249.946,393.4792;Inherit;False;1224.4;249.704;;5;138;101;126;100;99;Vertex Offset;0.4985158,1,0.3632075,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;95;-2865.211,1230.203;Inherit;False;Property;_WaveNormalIntensity;Wave Normal Intensity;13;0;Create;True;0;0;0;False;0;False;1;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.WorldPosInputsNode;99;-969.9398,461.4792;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 Node;AmplifyShaderEditor.LerpOp;32;-555.1415,1236.295;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.SamplerNode;89;-2874.584,1023.535;Inherit;True;Property;_Tex1;Tex1;1;0;Create;True;0;0;0;False;0;False;-1;None;70546bb8eb214354e83b7f57e5a4821c;True;0;True;bump;LockedToTexture2D;False;Instance;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;28;-325.2072,1457.519;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;126;-1182.946,495.5646;Inherit;False;123;vDisplacement;1;0;OBJECT;;False;1;FLOAT;0 Node;AmplifyShaderEditor.TransformPositionNode;100;-782.9399,457.4792;Inherit;False;World;Object;False;Fast;True;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 Node;AmplifyShaderEditor.LerpOp;24;-271.7448,1239.201;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.UnpackScaleNormalNode;94;-2531.212,1026.203;Inherit;False;Tangent;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 Node;AmplifyShaderEditor.RegisterLocalVarNode;62;-94.07522,1234.259;Inherit;False;vFinalColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.DynamicAppendNode;101;-512.5461,490.1832;Inherit;False;FLOAT3;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;90;-2195.747,1025.366;Inherit;False;vNormal;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;63;-228.2217,-44.82281;Inherit;False;62;vFinalColor;1;0;OBJECT;;False;1;COLOR;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;23;-2291.895,-115.9809;Inherit;False;vDepthColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RangedFloatNode;6;-3236.248,-703.126;Inherit;False;Property;_FoamSpeed;Foam Speed;9;0;Create;True;0;0;0;False;0;False;1;0.2;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;61;-214.6348,187.9828;Inherit;False;Property;_Smoothness;Smoothness;3;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;73;-883.9799,1726.364;Inherit;False;31;vRefractionNormal;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;39;-215.1826,32.32179;Inherit;False;90;vNormal;1;0;OBJECT;;False;1;FLOAT3;0 Node;AmplifyShaderEditor.StaticSwitch;138;-357.2596,486.1949;Inherit;False;Property;_WorldtoObjectPosition;World to Object Position?;14;0;Create;True;0;0;0;False;0;False;0;0;0;True;;Toggle;2;Key0;Key1;Create;False;True;All;9;1;FLOAT3;0,0,0;False;0;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT3;0,0,0;False;5;FLOAT3;0,0,0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleAddOpNode;79;-432.2787,1772.364;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RangedFloatNode;69;-923.9795,1850.365;Float;False;Property;_WaveDistortionIntensity;Wave Distortion Intensity;24;0;Create;True;0;0;0;False;0;False;0.6;4;0;4;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;136;-314.0891,264.4019;Inherit;False;Property;_Opacity;Opacity;4;0;Create;True;0;0;0;False;0;False;1;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;74;-607.9788,1773.364;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;32,0;Float;False;True;-1;2;;0;0;Standard;Polyart/Dreamscape Water River;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Off;0;False;;0;False;;False;0;False;;0;False;;False;0;Transparent;0.5;True;False;0;False;Transparent;;Transparent;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;False;2;5;False;;10;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 WireConnection;66;0;64;0 WireConnection;67;0;66;0 WireConnection;67;1;65;0 WireConnection;68;0;67;0 WireConnection;87;1;68;0 WireConnection;5;0;2;0 WireConnection;91;0;92;0 WireConnection;77;0;87;2 WireConnection;77;1;71;0 WireConnection;93;0;91;0 WireConnection;8;0;5;0 WireConnection;8;1;7;0 WireConnection;96;0;114;0 WireConnection;96;1;93;0 WireConnection;76;0;72;1 WireConnection;76;1;70;0 WireConnection;75;0;72;2 WireConnection;75;1;70;0 WireConnection;18;0;17;0 WireConnection;86;0;77;0 WireConnection;13;0;8;0 WireConnection;13;1;9;0 WireConnection;21;0;18;0 WireConnection;78;0;76;0 WireConnection;78;1;75;0 WireConnection;97;0;96;1 WireConnection;97;1;98;0 WireConnection;30;20;13;0 WireConnection;22;0;20;0 WireConnection;22;1;19;0 WireConnection;22;2;21;0 WireConnection;123;0;97;0 WireConnection;80;0;72;0 WireConnection;80;1;78;0 WireConnection;80;2;130;0 WireConnection;31;0;30;40 WireConnection;103;0;22;0 WireConnection;4;0;3;0 WireConnection;81;1;80;0 WireConnection;102;0;22;0 WireConnection;102;1;103;0 WireConnection;102;2;125;0 WireConnection;83;0;81;0 WireConnection;83;1;82;0 WireConnection;29;35;38;0 WireConnection;29;37;37;0 WireConnection;11;0;4;0 WireConnection;12;0;11;0 WireConnection;12;1;10;0 WireConnection;36;0;29;38 WireConnection;132;0;83;0 WireConnection;122;0;102;0 WireConnection;14;0;12;0 WireConnection;14;1;13;0 WireConnection;35;0;36;0 WireConnection;85;0;133;0 WireConnection;85;1;84;0 WireConnection;50;0;49;0 WireConnection;15;0;14;0 WireConnection;54;0;50;0 WireConnection;58;0;85;0 WireConnection;58;1;26;0 WireConnection;32;0;58;0 WireConnection;32;1;85;0 WireConnection;32;2;54;0 WireConnection;89;0;112;0 WireConnection;89;1;93;0 WireConnection;28;0;27;4 WireConnection;28;1;25;0 WireConnection;100;0;99;0 WireConnection;24;0;32;0 WireConnection;24;1;27;0 WireConnection;24;2;28;0 WireConnection;94;0;89;0 WireConnection;94;1;95;0 WireConnection;62;0;24;0 WireConnection;101;0;100;1 WireConnection;101;1;126;0 WireConnection;101;2;100;3 WireConnection;90;0;94;0 WireConnection;23;0;22;0 WireConnection;138;1;126;0 WireConnection;138;0;101;0 WireConnection;79;0;74;0 WireConnection;79;1;77;0 WireConnection;74;0;73;0 WireConnection;74;1;69;0 WireConnection;0;0;63;0 WireConnection;0;1;39;0 WireConnection;0;4;61;0 WireConnection;0;9;136;0 WireConnection;0;11;138;0 ASEEND*/ //CHKSM=F1E340741F3CB2E0CB2BB78F5C99252DE0533DD3