179 lines
12 KiB
Plaintext
179 lines
12 KiB
Plaintext
// Made with Amplify Shader Editor
|
|
// Available at the Unity Asset Store - http://u3d.as/y3X
|
|
Shader "SyntyStudios/Water"
|
|
{
|
|
Properties
|
|
{
|
|
_WaterNormal("Water Normal", 2D) = "bump" {}
|
|
_WaterScale("Water Scale", Range( 0 , 1)) = 0
|
|
_WaterSpeed("Water Speed", Range( 0 , 1)) = 0
|
|
_WaterDepth("Water Depth", Range( 0 , 1)) = 0
|
|
_WaterShallowColor("Water ShallowColor", Color) = (0,0,0,0)
|
|
_WaterDeepColor("Water DeepColor", Color) = (1,1,1,0)
|
|
_WaterFalloff("Water Falloff", Range( 0 , 10)) = 0
|
|
_WaterSpecular("Water Specular", Range( 0 , 1)) = 0
|
|
_WaterSmoothness("Water Smoothness", Float) = 0
|
|
_WaterReflection("Water Reflection", Range( 0 , 1)) = 0
|
|
_Foam_Texture("Foam_Texture", 2D) = "white" {}
|
|
_FoamDepth("Foam Depth", Range( 0 , 10)) = 0
|
|
_FoamFalloff("Foam Falloff", Float) = 0
|
|
_FoamSmoothness("Foam Smoothness", Float) = 0
|
|
_WaterOpacity("Water Opacity", Range( 0 , 1)) = 0
|
|
[HideInInspector] _texcoord( "", 2D ) = "white" {}
|
|
[HideInInspector] __dirty( "", Int ) = 1
|
|
}
|
|
|
|
SubShader
|
|
{
|
|
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" }
|
|
Cull Back
|
|
CGPROGRAM
|
|
#include "UnityStandardUtils.cginc"
|
|
#include "UnityShaderVariables.cginc"
|
|
#include "UnityCG.cginc"
|
|
#pragma target 3.0
|
|
#pragma instancing_options procedural:setup
|
|
#pragma multi_compile GPU_FRUSTUM_ON __
|
|
#include "VS_indirect.cginc"
|
|
#pragma surface surf StandardSpecular alpha:fade keepalpha
|
|
struct Input
|
|
{
|
|
half2 uv_texcoord;
|
|
float4 screenPos;
|
|
};
|
|
|
|
uniform half _WaterScale;
|
|
uniform sampler2D _WaterNormal;
|
|
uniform half _WaterSpeed;
|
|
uniform float4 _WaterNormal_ST;
|
|
uniform half4 _WaterShallowColor;
|
|
uniform half4 _WaterDeepColor;
|
|
uniform sampler2D _CameraDepthTexture;
|
|
uniform half _WaterDepth;
|
|
uniform half _WaterFalloff;
|
|
uniform half _FoamDepth;
|
|
uniform half _FoamFalloff;
|
|
uniform sampler2D _Foam_Texture;
|
|
uniform float4 _Foam_Texture_ST;
|
|
uniform half _WaterSpecular;
|
|
uniform half _WaterSmoothness;
|
|
uniform half _FoamSmoothness;
|
|
uniform half _WaterReflection;
|
|
uniform half _WaterOpacity;
|
|
|
|
void surf( Input i , inout SurfaceOutputStandardSpecular o )
|
|
{
|
|
half2 temp_cast_0 = (_WaterSpeed).xx;
|
|
float2 uv_WaterNormal = i.uv_texcoord * _WaterNormal_ST.xy + _WaterNormal_ST.zw;
|
|
float2 panner19 = ( 1.0 * _Time.y * temp_cast_0 + uv_WaterNormal);
|
|
o.Normal = UnpackScaleNormal( tex2D( _WaterNormal, panner19 ), _WaterScale );
|
|
float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 );
|
|
float eyeDepth1 = LinearEyeDepth(UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture,UNITY_PROJ_COORD( ase_screenPos ))));
|
|
float temp_output_89_0 = abs( ( eyeDepth1 - ase_screenPos.w ) );
|
|
float4 lerpResult13 = lerp( _WaterShallowColor , _WaterDeepColor , saturate( pow( ( temp_output_89_0 + _WaterDepth ) , _WaterFalloff ) ));
|
|
float2 uv_Foam_Texture = i.uv_texcoord * _Foam_Texture_ST.xy + _Foam_Texture_ST.zw;
|
|
float2 panner116 = ( 1.0 * _Time.y * float2( -0.01,0.01 ) + uv_Foam_Texture);
|
|
float temp_output_114_0 = ( saturate( pow( ( temp_output_89_0 + _FoamDepth ) , _FoamFalloff ) ) * tex2D( _Foam_Texture, panner116 ).r );
|
|
float4 lerpResult117 = lerp( lerpResult13 , half4(1,1,1,0) , temp_output_114_0);
|
|
o.Albedo = lerpResult117.rgb;
|
|
float temp_output_104_0 = _WaterSpecular;
|
|
half3 temp_cast_2 = (temp_output_104_0).xxx;
|
|
o.Specular = temp_cast_2;
|
|
float lerpResult133 = lerp( _WaterSmoothness , _FoamSmoothness , temp_output_114_0);
|
|
o.Smoothness = ( lerpResult133 * _WaterReflection );
|
|
o.Alpha = _WaterOpacity;
|
|
}
|
|
|
|
ENDCG
|
|
}
|
|
Fallback "Diffuse"
|
|
CustomEditor "ASEMaterialInspector"
|
|
}
|
|
/*ASEBEGIN
|
|
Version=16200
|
|
2567;32;2546;1397;1330.299;671.4307;1;True;False
|
|
Node;AmplifyShaderEditor.CommentaryNode;152;-1433.498,-615.4986;Float;False;828.5967;315.5001;Screen Depth;4;89;2;1;3;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.ScreenPosInputsNode;2;-1397.798,-511.9988;Float;False;1;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.ScreenDepthNode;1;-1161.497,-514.499;Float;False;0;True;1;0;FLOAT4;0,0,0,0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.CommentaryNode;153;-576.1042,-114.6821;Float;False;915.4021;475.1005;Foam;9;114;113;110;115;105;116;106;112;111;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.SimpleSubtractOpNode;3;-954.0988,-469.1988;Float;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.CommentaryNode;159;-577.501,-617.1004;Float;False;918.2009;486.2004;Water Depth;8;13;94;11;87;12;88;10;6;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.AbsOpNode;89;-768.9045,-471.3828;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;111;-553.7032,-52.18102;Float;False;Property;_FoamDepth;Foam Depth;11;0;Create;True;0;0;False;0;0;0.9;0;10;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;112;-551.7026,32.41899;Float;False;Property;_FoamFalloff;Foam Falloff;12;0;Create;True;0;0;False;0;0;-27.57;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;6;-539.6958,-288.6396;Float;False;Property;_WaterDepth;Water Depth;3;0;Create;True;0;0;False;0;0;0.28;0;1;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleAddOpNode;115;-247.5019,-70.18164;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.TextureCoordinatesNode;106;-546.9041,191.8202;Float;False;0;105;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.PannerNode;116;-280.7024,195.1196;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;-0.01,0.01;False;1;FLOAT;1;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.PowerNode;110;-98.60252,-70.08109;Float;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleAddOpNode;88;-272.0506,-387.7826;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;10;-532.8712,-212.8153;Float;False;Property;_WaterFalloff;Water Falloff;6;0;Create;True;0;0;False;0;0;1.09;0;10;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SaturateNode;113;56.99892,-69.48123;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SamplerNode;105;-74.30196,160.1194;Float;True;Property;_Foam_Texture;Foam_Texture;10;0;Create;True;0;0;False;0;None;37e6f91f3efb0954cbdce254638862ea;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;1;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.CommentaryNode;151;-574.9057,-1078.484;Float;False;916.603;446.1994;Water Movement;5;17;19;48;166;21;;1,1,1,1;0;0
|
|
Node;AmplifyShaderEditor.PowerNode;87;-91.16573,-266.153;Float;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;26;963.1613,-335.5159;Float;False;Property;_WaterSmoothness;Water Smoothness;8;0;Create;True;0;0;False;0;0;-0.4;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;132;966.7835,-242.4849;Float;False;Property;_FoamSmoothness;Foam Smoothness;13;0;Create;True;0;0;False;0;0;-0.1;0;0;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;114;202.999,-69.08084;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.TextureCoordinatesNode;21;-524.9058,-955.6854;Float;False;0;17;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.ColorNode;12;-519.4658,-562.4554;Float;False;Property;_WaterShallowColor;Water ShallowColor;4;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,0;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.RangedFloatNode;166;-526.252,-822.3657;Float;False;Property;_WaterSpeed;Water Speed;2;0;Create;True;0;0;False;0;0;0.01;0;1;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SaturateNode;94;82.19566,-259.584;Float;False;1;0;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.ColorNode;11;-106.4798,-454.7199;Float;False;Property;_WaterDeepColor;Water DeepColor;5;0;Create;True;0;0;False;0;1,1,1,0;0.1260273,0.5305975,0.8161765,0;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.LerpOp;13;188.1001,-539.2983;Float;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.LerpOp;133;1291.597,-284.68;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;170;1267.408,-125.2565;Float;False;Property;_WaterReflection;Water Reflection;9;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.ColorNode;108;374.9389,-744.7383;Float;False;Constant;_Color0;Color 0;-1;0;Create;True;0;0;False;0;1,1,1,0;0,0,0,0;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.PannerNode;19;-197.7061,-981.3851;Float;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0.04,0.04;False;1;FLOAT;1;False;1;FLOAT2;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;48;-526.5065,-732.2865;Float;False;Property;_WaterScale;Water Scale;1;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.LerpOp;117;782.4917,-746.7291;Float;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.LerpOp;130;1179.167,527.939;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;167;1340.651,-423.7415;Float;False;Property;_WaterOpacity;Water Opacity;14;0;Create;True;0;0;False;0;0;0.217;0;1;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.RangedFloatNode;131;791.0029,568.6337;Float;False;Constant;_FoamSpecular;Foam Specular;12;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;169;1559.911,-305.0965;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.SamplerNode;17;42.69461,-1024.285;Float;True;Property;_WaterNormal;Water Normal;0;0;Create;True;0;0;False;0;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;1;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
|
Node;AmplifyShaderEditor.RangedFloatNode;104;994.7629,-669.7719;Float;False;Property;_WaterSpecular;Water Specular;7;0;Create;True;0;0;False;0;0;-1.55;0;1;0;1;FLOAT;0
|
|
Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;1715.601,-737.1998;Half;False;True;2;Half;ASEMaterialInspector;0;0;StandardSpecular;SyntyStudios/Water;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;Back;0;False;-1;3;False;-1;False;0;False;-1;0;False;-1;False;0;Transparent;0.5;True;False;0;False;Transparent;;Transparent;All;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;0;4;10;25;False;0.5;True;2;5;False;-1;10;False;-1;0;0;False;-1;0;False;-1;1;False;-1;1;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;3;Pragma;instancing_options procedural:setup;False;;Pragma;multi_compile GPU_FRUSTUM_ON __;False;;Include;VS_indirect.cginc;False;;0;0;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,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;1;0;2;0
|
|
WireConnection;3;0;1;0
|
|
WireConnection;3;1;2;4
|
|
WireConnection;89;0;3;0
|
|
WireConnection;115;0;89;0
|
|
WireConnection;115;1;111;0
|
|
WireConnection;116;0;106;0
|
|
WireConnection;110;0;115;0
|
|
WireConnection;110;1;112;0
|
|
WireConnection;88;0;89;0
|
|
WireConnection;88;1;6;0
|
|
WireConnection;113;0;110;0
|
|
WireConnection;105;1;116;0
|
|
WireConnection;87;0;88;0
|
|
WireConnection;87;1;10;0
|
|
WireConnection;114;0;113;0
|
|
WireConnection;114;1;105;1
|
|
WireConnection;94;0;87;0
|
|
WireConnection;13;0;12;0
|
|
WireConnection;13;1;11;0
|
|
WireConnection;13;2;94;0
|
|
WireConnection;133;0;26;0
|
|
WireConnection;133;1;132;0
|
|
WireConnection;133;2;114;0
|
|
WireConnection;19;0;21;0
|
|
WireConnection;19;2;166;0
|
|
WireConnection;117;0;13;0
|
|
WireConnection;117;1;108;0
|
|
WireConnection;117;2;114;0
|
|
WireConnection;130;0;104;0
|
|
WireConnection;130;1;131;0
|
|
WireConnection;130;2;114;0
|
|
WireConnection;169;0;133;0
|
|
WireConnection;169;1;170;0
|
|
WireConnection;17;1;19;0
|
|
WireConnection;17;5;48;0
|
|
WireConnection;0;0;117;0
|
|
WireConnection;0;1;17;0
|
|
WireConnection;0;3;104;0
|
|
WireConnection;0;4;169;0
|
|
WireConnection;0;9;167;0
|
|
ASEEND*/
|
|
//CHKSM=E201A2DE6EBDBEC8E3CD9690EA27A7A87C948536 |