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.

193 lines
13 KiB

  1. // Made with Amplify Shader Editor
  2. // Available at the Unity Asset Store - http://u3d.as/y3X
  3. Shader "ASESampleShaders/Community/TFHC/Low Poly Water"
  4. {
  5. Properties
  6. {
  7. [HideInInspector] __dirty( "", Int ) = 1
  8. _WaterColor("Water Color", Color) = (0.4926471,0.8740366,1,1)
  9. _WaveGuide("Wave Guide", 2D) = "white" {}
  10. _WaveSpeed("Wave Speed", Range( 0 , 5)) = 0
  11. _WaveHeight("Wave Height", Range( 0 , 5)) = 0
  12. _FoamColor("Foam Color", Color) = (1,1,1,0)
  13. _Foam("Foam", 2D) = "white" {}
  14. _FoamDistortion("Foam Distortion", 2D) = "white" {}
  15. _FoamDist("Foam Dist", Range( 0 , 1)) = 0.1
  16. _Opacity("Opacity", Range( 0 , 1)) = 0
  17. [Toggle]_LowPoly("Low Poly", Float) = 1
  18. _NormalOnlyNoPolyMode("Normal (Only No Poly Mode)", 2D) = "bump" {}
  19. [HideInInspector] _texcoord( "", 2D ) = "white" {}
  20. }
  21. SubShader
  22. {
  23. Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" }
  24. Cull Off
  25. CGPROGRAM
  26. #include "UnityShaderVariables.cginc"
  27. #include "UnityCG.cginc"
  28. #pragma target 3.0
  29. #pragma surface surf Standard alpha:fade keepalpha noshadow vertex:vertexDataFunc
  30. struct Input
  31. {
  32. float2 uv_texcoord;
  33. float3 worldPos;
  34. float4 screenPos;
  35. float2 texcoord_0;
  36. };
  37. uniform float _LowPoly;
  38. uniform sampler2D _NormalOnlyNoPolyMode;
  39. uniform float4 _NormalOnlyNoPolyMode_ST;
  40. uniform float4 _WaterColor;
  41. uniform float4 _FoamColor;
  42. uniform sampler2D _Foam;
  43. uniform float _WaveSpeed;
  44. uniform float4 _Foam_ST;
  45. uniform sampler2D _FoamDistortion;
  46. uniform sampler2D _CameraDepthTexture;
  47. uniform float _FoamDist;
  48. uniform float _Opacity;
  49. uniform sampler2D _WaveGuide;
  50. uniform float _WaveHeight;
  51. void vertexDataFunc( inout appdata_full v, out Input o )
  52. {
  53. UNITY_INITIALIZE_OUTPUT( Input, o );
  54. float4 speed = ( _Time * _WaveSpeed );
  55. float componentMask118 = v.vertex.xyz.y;
  56. o.texcoord_0.xy = v.texcoord.xy * float2( 1,1 ) + ( speed + componentMask118 ).xy;
  57. float3 VertexAnimation = ( ( tex2Dlod( _WaveGuide, float4( o.texcoord_0, 0.0 , 0.0 ) ).r - 0.5 ) * ( v.normal * _WaveHeight ) );
  58. v.vertex.xyz += VertexAnimation;
  59. }
  60. void surf( Input i , inout SurfaceOutputStandard o )
  61. {
  62. float2 uv_NormalOnlyNoPolyMode = i.uv_texcoord * _NormalOnlyNoPolyMode_ST.xy + _NormalOnlyNoPolyMode_ST.zw;
  63. float3 ase_worldPos = i.worldPos;
  64. float3 Normal = lerp(UnpackNormal( tex2D( _NormalOnlyNoPolyMode, uv_NormalOnlyNoPolyMode ) ),normalize( ( cross( ddx( ase_worldPos ) , ddy( ase_worldPos ) ) + float3( 1E-09,0,0 ) ) ),_LowPoly);
  65. o.Normal = Normal;
  66. float4 Albedo = _WaterColor;
  67. o.Albedo = Albedo.rgb;
  68. float4 speed = ( _Time * _WaveSpeed );
  69. float2 uv_Foam = i.uv_texcoord * _Foam_ST.xy + _Foam_ST.zw;
  70. float cos182 = cos( speed );
  71. float sin182 = sin( speed );
  72. float2 rotator182 = mul((abs( uv_Foam+speed.x * float2(0.5,0.5 ))) - float2( 0,0 ), float2x2(cos182,-sin182,sin182,cos182)) + float2( 0,0 );
  73. float4 ase_screenPos = float4( i.screenPos.xyz , i.screenPos.w + 0.00000000001 );
  74. float screenDepth164 = LinearEyeDepth(UNITY_SAMPLE_DEPTH(tex2Dproj(_CameraDepthTexture,UNITY_PROJ_COORD(ase_screenPos))));
  75. float distanceDepth164 = abs( ( screenDepth164 - LinearEyeDepth( ase_screenPos.z/ ase_screenPos.w ) ) / _FoamDist );
  76. float4 Emission = lerp( ( _FoamColor * tex2D( _Foam, rotator182 ) ) , float4(0,0,0,0) , clamp( ( clamp( tex2D( _FoamDistortion, rotator182 ).r , 0.0 , 1.0 ) * distanceDepth164 ) , 0.0 , 1.0 ) );
  77. o.Emission = Emission.rgb;
  78. o.Alpha = _Opacity;
  79. }
  80. ENDCG
  81. }
  82. CustomEditor "ASEMaterialInspector"
  83. }
  84. /*ASEBEGIN
  85. Version=10011
  86. 646;227;1066;638;4840.811;1685.321;4.844291;True;False
  87. Node;AmplifyShaderEditor.CommentaryNode;199;-2827.374,-925.0059;Float;False;914.394;362.5317;Comment;4;89;15;88;183;Wave Speed;0;0
  88. Node;AmplifyShaderEditor.RangedFloatNode;15;-2777.374,-677.473;Float;False;Property;_WaveSpeed;Wave Speed;2;0;0;0;5;0;1;FLOAT
  89. Node;AmplifyShaderEditor.TimeNode;89;-2706.477,-875.0057;Float;False;0;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT
  90. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;88;-2377.44,-739.9845;Float;False;2;2;0;FLOAT4;0.0,0,0,0;False;1;FLOAT;0.0,0,0,0;False;1;FLOAT4
  91. Node;AmplifyShaderEditor.CommentaryNode;192;-2804.44,147.8661;Float;False;2009.663;867.9782;Comment;16;176;177;182;179;181;161;174;169;191;159;170;157;162;164;167;184;Emission;0;0
  92. Node;AmplifyShaderEditor.GetLocalVarNode;184;-2755.296,577.5368;Float;False;183;0;1;FLOAT4
  93. Node;AmplifyShaderEditor.TextureCoordinatesNode;176;-2786.44,327.7948;Float;False;0;169;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;FLOAT;FLOAT;FLOAT;FLOAT
  94. Node;AmplifyShaderEditor.CommentaryNode;197;-2751.606,-436.2369;Float;False;2321.461;426.9865;Comment;12;53;118;47;96;86;43;54;44;36;29;127;195;Vertex Animation;0;0
  95. Node;AmplifyShaderEditor.RegisterLocalVarNode;183;-2155.98,-832.3298;Float;False;speed;-1;True;1;0;FLOAT4;0.0;False;1;FLOAT4
  96. Node;AmplifyShaderEditor.PannerNode;177;-2454.748,382.3567;Float;False;0.5;0.5;2;0;FLOAT2;0,0;False;1;FLOAT;0.0;False;1;FLOAT2
  97. Node;AmplifyShaderEditor.PosVertexDataNode;53;-2701.606,-286.774;Float;False;0;0;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT
  98. Node;AmplifyShaderEditor.CommentaryNode;204;-1883.495,-920.8318;Float;False;1244.412;443.4576;Comment;9;119;121;120;122;202;123;200;124;205;Normal;0;0
  99. Node;AmplifyShaderEditor.GetLocalVarNode;195;-2377.985,-347.0552;Float;False;183;0;1;FLOAT4
  100. Node;AmplifyShaderEditor.RotatorNode;182;-2377.307,563.6425;Float;False;3;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;2;FLOAT;0.5;False;1;FLOAT2
  101. Node;AmplifyShaderEditor.ComponentMaskNode;118;-2462.842,-267.5019;Float;False;False;True;False;True;1;0;FLOAT3;0,0,0,0;False;1;FLOAT
  102. Node;AmplifyShaderEditor.WorldPosInputsNode;119;-1872,-656;Float;False;0;4;FLOAT3;FLOAT;FLOAT;FLOAT
  103. Node;AmplifyShaderEditor.RangedFloatNode;167;-2382.478,814.4856;Float;False;Property;_FoamDist;Foam Dist;7;0;0.1;0;1;0;1;FLOAT
  104. Node;AmplifyShaderEditor.SimpleAddOpNode;47;-2177.163,-350.3377;Float;False;2;2;0;FLOAT4;0;False;1;FLOAT;0,0,0,0;False;1;FLOAT4
  105. Node;AmplifyShaderEditor.SamplerNode;179;-2143.537,609.8837;Float;True;Property;_FoamDistortion;Foam Distortion;6;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  106. Node;AmplifyShaderEditor.DdxOpNode;120;-1664,-672;Float;False;1;0;FLOAT3;0.0;False;1;FLOAT3
  107. Node;AmplifyShaderEditor.DdyOpNode;121;-1664,-576;Float;False;1;0;FLOAT3;0.0;False;1;FLOAT3
  108. Node;AmplifyShaderEditor.DepthFade;164;-2020.088,829.655;Float;False;1;0;FLOAT;1.0;False;1;FLOAT
  109. Node;AmplifyShaderEditor.ClampOpNode;181;-1851.366,695.3312;Float;False;3;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;1.0;False;1;FLOAT
  110. Node;AmplifyShaderEditor.CrossProductOpNode;122;-1536,-640;Float;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3
  111. Node;AmplifyShaderEditor.TextureCoordinatesNode;96;-1988.552,-386.2369;Float;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;FLOAT;FLOAT;FLOAT;FLOAT
  112. Node;AmplifyShaderEditor.SamplerNode;169;-1928.3,373.9261;Float;True;Property;_Foam;Foam;5;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  113. Node;AmplifyShaderEditor.RangedFloatNode;43;-1398.183,-124.2504;Float;False;Property;_WaveHeight;Wave Height;3;0;0;0;5;0;1;FLOAT
  114. Node;AmplifyShaderEditor.ColorNode;161;-1881.812,197.8662;Float;False;Property;_FoamColor;Foam Color;4;0;1,1,1,0;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  115. Node;AmplifyShaderEditor.SamplerNode;86;-1709.089,-380.2153;Float;True;Property;_WaveGuide;Wave Guide;1;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT
  116. Node;AmplifyShaderEditor.SimpleAddOpNode;205;-1367.996,-605.7512;Float;False;2;2;0;FLOAT3;0.0;False;1;FLOAT3;1E-09,0,0;False;1;FLOAT3
  117. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;174;-1683.11,819.9097;Float;False;2;2;0;FLOAT;0.075;False;1;FLOAT;0.0;False;1;FLOAT
  118. Node;AmplifyShaderEditor.NormalVertexDataNode;54;-1353.867,-280.0608;Float;False;0;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT
  119. Node;AmplifyShaderEditor.SimpleSubtractOpNode;36;-1021.508,-352.6445;Float;False;2;0;FLOAT;0.0;False;1;FLOAT;0.5;False;1;FLOAT
  120. Node;AmplifyShaderEditor.ColorNode;159;-1656.591,619.5612;Float;False;Constant;_Color0;Color 0;9;0;0,0,0,0;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  121. Node;AmplifyShaderEditor.CommentaryNode;203;-2809.492,-1303.385;Float;False;566.4452;257;Comment;2;2;131;Albedo;0;0
  122. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;170;-1513.108,437.6683;Float;False;2;2;0;COLOR;0.0,0,0,0;False;1;COLOR;0.0;False;1;COLOR
  123. Node;AmplifyShaderEditor.SamplerNode;202;-1509.38,-870.8318;Float;True;Property;_NormalOnlyNoPolyMode;Normal (Only No Poly Mode);10;0;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;1.0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1.0;False;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT
  124. Node;AmplifyShaderEditor.NormalizeNode;123;-1232,-576;Float;False;1;0;FLOAT3;0.0,0,0,0;False;1;FLOAT3
  125. Node;AmplifyShaderEditor.ClampOpNode;191;-1486.683,783.1451;Float;False;3;0;FLOAT;0.0;False;1;FLOAT;0.0;False;2;FLOAT;1.0;False;1;FLOAT
  126. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;44;-1026.813,-198.9792;Float;False;2;2;0;FLOAT3;1.0,0,0;False;1;FLOAT;0.0,0,0;False;1;FLOAT3
  127. Node;AmplifyShaderEditor.LerpOp;157;-1218.507,670.1462;Float;False;3;0;COLOR;0.0;False;1;COLOR;0.0;False;2;FLOAT;0.0;False;1;COLOR
  128. Node;AmplifyShaderEditor.ToggleSwitchNode;200;-1084.856,-668.6083;Float;False;Property;_LowPoly;Low Poly;9;1;[Toggle];1;2;0;FLOAT3;0.0;False;1;FLOAT3;0.0;False;1;FLOAT3
  129. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;29;-859.5037,-220.1143;Float;False;2;2;0;FLOAT;0.0;False;1;FLOAT3;0;False;1;FLOAT3
  130. Node;AmplifyShaderEditor.ColorNode;2;-2759.492,-1253.385;Float;False;Property;_WaterColor;Water Color;0;0;0.4926471,0.8740366,1,1;0;5;COLOR;FLOAT;FLOAT;FLOAT;FLOAT
  131. Node;AmplifyShaderEditor.RegisterLocalVarNode;124;-882.0831,-657.6036;Float;False;Normal;-1;True;1;0;FLOAT3;0,0,0,0;False;1;FLOAT3
  132. Node;AmplifyShaderEditor.GetLocalVarNode;128;-657.9543,520.383;Float;False;127;0;1;FLOAT3
  133. Node;AmplifyShaderEditor.RegisterLocalVarNode;131;-2486.047,-1232.555;Float;False;Albedo;-1;True;1;0;COLOR;0.0;False;1;COLOR
  134. Node;AmplifyShaderEditor.GetLocalVarNode;125;-619.788,244.9404;Float;False;124;0;1;FLOAT3
  135. Node;AmplifyShaderEditor.RegisterLocalVarNode;127;-706.1451,-228.0923;Float;False;VertexAnimation;-1;True;1;0;FLOAT3;0.0;False;1;FLOAT3
  136. Node;AmplifyShaderEditor.GetLocalVarNode;163;-631.3639,329.4067;Float;False;162;0;1;COLOR
  137. Node;AmplifyShaderEditor.GetLocalVarNode;134;-632.9377,159.7002;Float;False;131;0;1;COLOR
  138. Node;AmplifyShaderEditor.RangedFloatNode;11;-673.6442,428.0303;Float;False;Property;_Opacity;Opacity;8;0;0;0;1;0;1;FLOAT
  139. Node;AmplifyShaderEditor.RegisterLocalVarNode;162;-1037.777,716.2555;Float;False;Emission;-1;True;1;0;COLOR;0.0;False;1;COLOR
  140. Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;-358.2882,224.1705;Float;False;True;2;Float;ASEMaterialInspector;0;Standard;ASESampleShaders/Community/TFHC/Low Poly Water;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;Off;0;3;False;0;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;False;0;255;255;0;0;0;0;False;0;4;10;25;False;0.5;False;0;Zero;Zero;0;Zero;Zero;Add;Add;0;False;0;0,0,0,0;VertexOffset;False;Cylindrical;Relative;0;;-1;-1;-1;-1;0;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0.0;False;4;FLOAT;0.0;False;5;FLOAT;0.0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0.0;False;9;FLOAT;0.0;False;10;OBJECT;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
  141. WireConnection;88;0;89;0
  142. WireConnection;88;1;15;0
  143. WireConnection;183;0;88;0
  144. WireConnection;177;0;176;0
  145. WireConnection;177;1;184;0
  146. WireConnection;182;0;177;0
  147. WireConnection;182;2;184;0
  148. WireConnection;118;0;53;0
  149. WireConnection;47;0;195;0
  150. WireConnection;47;1;118;0
  151. WireConnection;179;1;182;0
  152. WireConnection;120;0;119;0
  153. WireConnection;121;0;119;0
  154. WireConnection;164;0;167;0
  155. WireConnection;181;0;179;1
  156. WireConnection;122;0;120;0
  157. WireConnection;122;1;121;0
  158. WireConnection;96;1;47;0
  159. WireConnection;169;1;182;0
  160. WireConnection;86;1;96;0
  161. WireConnection;205;0;122;0
  162. WireConnection;174;0;181;0
  163. WireConnection;174;1;164;0
  164. WireConnection;36;0;86;1
  165. WireConnection;170;0;161;0
  166. WireConnection;170;1;169;0
  167. WireConnection;123;0;205;0
  168. WireConnection;191;0;174;0
  169. WireConnection;44;0;54;0
  170. WireConnection;44;1;43;0
  171. WireConnection;157;0;170;0
  172. WireConnection;157;1;159;0
  173. WireConnection;157;2;191;0
  174. WireConnection;200;0;202;0
  175. WireConnection;200;1;123;0
  176. WireConnection;29;0;36;0
  177. WireConnection;29;1;44;0
  178. WireConnection;124;0;200;0
  179. WireConnection;131;0;2;0
  180. WireConnection;127;0;29;0
  181. WireConnection;162;0;157;0
  182. WireConnection;0;0;134;0
  183. WireConnection;0;1;125;0
  184. WireConnection;0;2;163;0
  185. WireConnection;0;9;11;0
  186. WireConnection;0;11;128;0
  187. ASEEND*/
  188. //CHKSM=AC042A40689F4582F90D90FE0088911E85499A2E