New Amplify Shader.shader 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. // Made with Amplify Shader Editor
  2. // Available at the Unity Asset Store - http://u3d.as/y3X
  3. Shader "New Amplify Shader"
  4. {
  5. Properties
  6. {
  7. _TextureSample0("Texture Sample 0", 2D) = "white" {}
  8. _TextureSample1("Texture Sample 1", 2D) = "white" {}
  9. _Color0("Color 0", Color) = (0,0,0,0)
  10. _Vector0("Vector 0", Vector) = (0,0,0,0)
  11. _Vector1("Vector 1", Vector) = (0,0,0,0)
  12. _F("F", Float) = 0.93
  13. [HideInInspector] _texcoord( "", 2D ) = "white" {}
  14. [HideInInspector] __dirty( "", Int ) = 1
  15. }
  16. SubShader
  17. {
  18. Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" "IsEmissive" = "true" }
  19. Cull Back
  20. CGINCLUDE
  21. #include "UnityShaderVariables.cginc"
  22. #include "UnityPBSLighting.cginc"
  23. #include "Lighting.cginc"
  24. #pragma target 3.0
  25. struct Input
  26. {
  27. float2 uv_texcoord;
  28. float3 worldPos;
  29. float3 worldNormal;
  30. };
  31. uniform sampler2D _TextureSample0;
  32. uniform float2 _Vector1;
  33. uniform sampler2D _TextureSample1;
  34. uniform float2 _Vector0;
  35. uniform float _F;
  36. uniform float4 _Color0;
  37. void surf( Input i , inout SurfaceOutputStandard o )
  38. {
  39. float3 ase_worldPos = i.worldPos;
  40. float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
  41. float3 ase_worldNormal = i.worldNormal;
  42. float fresnelNdotV13 = dot( ase_worldNormal, ase_worldViewDir );
  43. float fresnelNode13 = ( 0.0 + _F * pow( 1.0 - fresnelNdotV13, 5.0 ) );
  44. o.Emission = ( tex2D( _TextureSample0, (i.uv_texcoord*1.0 + ( _Time.y * _Vector1 )) ) + tex2D( _TextureSample1, (i.uv_texcoord*1.0 + ( _Time.y * _Vector0 )) ) + ( fresnelNode13 * _Color0 ) ).rgb;
  45. o.Alpha = 1;
  46. }
  47. ENDCG
  48. CGPROGRAM
  49. #pragma surface surf Standard keepalpha fullforwardshadows
  50. ENDCG
  51. Pass
  52. {
  53. Name "ShadowCaster"
  54. Tags{ "LightMode" = "ShadowCaster" }
  55. ZWrite On
  56. CGPROGRAM
  57. #pragma vertex vert
  58. #pragma fragment frag
  59. #pragma target 3.0
  60. #pragma multi_compile_shadowcaster
  61. #pragma multi_compile UNITY_PASS_SHADOWCASTER
  62. #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
  63. #include "HLSLSupport.cginc"
  64. #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
  65. #define CAN_SKIP_VPOS
  66. #endif
  67. #include "UnityCG.cginc"
  68. #include "Lighting.cginc"
  69. #include "UnityPBSLighting.cginc"
  70. struct v2f
  71. {
  72. V2F_SHADOW_CASTER;
  73. float2 customPack1 : TEXCOORD1;
  74. float3 worldPos : TEXCOORD2;
  75. float3 worldNormal : TEXCOORD3;
  76. UNITY_VERTEX_INPUT_INSTANCE_ID
  77. };
  78. v2f vert( appdata_full v )
  79. {
  80. v2f o;
  81. UNITY_SETUP_INSTANCE_ID( v );
  82. UNITY_INITIALIZE_OUTPUT( v2f, o );
  83. UNITY_TRANSFER_INSTANCE_ID( v, o );
  84. Input customInputData;
  85. float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
  86. half3 worldNormal = UnityObjectToWorldNormal( v.normal );
  87. o.worldNormal = worldNormal;
  88. o.customPack1.xy = customInputData.uv_texcoord;
  89. o.customPack1.xy = v.texcoord;
  90. o.worldPos = worldPos;
  91. TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
  92. return o;
  93. }
  94. half4 frag( v2f IN
  95. #if !defined( CAN_SKIP_VPOS )
  96. , UNITY_VPOS_TYPE vpos : VPOS
  97. #endif
  98. ) : SV_Target
  99. {
  100. UNITY_SETUP_INSTANCE_ID( IN );
  101. Input surfIN;
  102. UNITY_INITIALIZE_OUTPUT( Input, surfIN );
  103. surfIN.uv_texcoord = IN.customPack1.xy;
  104. float3 worldPos = IN.worldPos;
  105. half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
  106. surfIN.worldPos = worldPos;
  107. surfIN.worldNormal = IN.worldNormal;
  108. SurfaceOutputStandard o;
  109. UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o )
  110. surf( surfIN, o );
  111. #if defined( CAN_SKIP_VPOS )
  112. float2 vpos = IN.pos;
  113. #endif
  114. SHADOW_CASTER_FRAGMENT( IN )
  115. }
  116. ENDCG
  117. }
  118. }
  119. Fallback "Diffuse"
  120. CustomEditor "ASEMaterialInspector"
  121. }
  122. /*ASEBEGIN
  123. Version=16301
  124. 7;550;1906;641;2330.993;115.6177;1.6;True;True
  125. Node;AmplifyShaderEditor.TimeNode;10;-1460.24,318.8224;Float;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  126. Node;AmplifyShaderEditor.Vector2Node;18;-1773.931,203.9917;Float;False;Property;_Vector1;Vector 1;4;0;Create;True;0;0;False;0;0,0;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
  127. Node;AmplifyShaderEditor.TimeNode;17;-1811.931,58.99165;Float;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  128. Node;AmplifyShaderEditor.Vector2Node;8;-1422.24,463.8224;Float;False;Property;_Vector0;Vector 0;3;0;Create;True;0;0;False;0;0,0;0,0;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
  129. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;20;-1519.931,129.9917;Float;False;2;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
  130. Node;AmplifyShaderEditor.TextureCoordinatesNode;4;-1383.24,191.8224;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
  131. Node;AmplifyShaderEditor.RangedFloatNode;14;-517.4859,620.1577;Float;False;Property;_F;F;5;0;Create;True;0;0;False;0;0.93;0.93;0;0;0;1;FLOAT;0
  132. Node;AmplifyShaderEditor.TextureCoordinatesNode;19;-1734.931,-68.00835;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
  133. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;11;-1168.24,389.8224;Float;False;2;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT2;0
  134. Node;AmplifyShaderEditor.ScaleAndOffsetNode;3;-1046.551,260.7754;Float;False;3;0;FLOAT2;0,0;False;1;FLOAT;1;False;2;FLOAT2;0,0;False;1;FLOAT2;0
  135. Node;AmplifyShaderEditor.ColorNode;16;-290.6719,767.3306;Float;False;Property;_Color0;Color 0;2;0;Create;True;0;0;False;0;0,0,0,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  136. Node;AmplifyShaderEditor.FresnelNode;13;-348.5195,538.8649;Float;True;Standard;WorldNormal;ViewDir;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0
  137. Node;AmplifyShaderEditor.ScaleAndOffsetNode;21;-1398.242,0.9446492;Float;False;3;0;FLOAT2;0,0;False;1;FLOAT;1;False;2;FLOAT2;0,0;False;1;FLOAT2;0
  138. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;15;29.58126,748.4461;Float;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
  139. Node;AmplifyShaderEditor.SamplerNode;2;-543.7498,312.13;Float;True;Property;_TextureSample1;Texture Sample 1;1;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
  140. Node;AmplifyShaderEditor.SamplerNode;1;-619.7498,44.13004;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
  141. Node;AmplifyShaderEditor.SimpleAddOpNode;12;144.6019,359.6633;Float;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0
  142. Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;408,126;Float;False;True;2;Float;ASEMaterialInspector;0;0;Standard;New Amplify Shader;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;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;2;15;10;25;False;0.5;True;0;0;False;-1;0;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;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;0;0;0;False;0.1;False;-1;0;False;-1;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
  143. WireConnection;20;0;17;2
  144. WireConnection;20;1;18;0
  145. WireConnection;11;0;10;2
  146. WireConnection;11;1;8;0
  147. WireConnection;3;0;4;0
  148. WireConnection;3;2;11;0
  149. WireConnection;13;2;14;0
  150. WireConnection;21;0;19;0
  151. WireConnection;21;2;20;0
  152. WireConnection;15;0;13;0
  153. WireConnection;15;1;16;0
  154. WireConnection;2;1;3;0
  155. WireConnection;1;1;21;0
  156. WireConnection;12;0;1;0
  157. WireConnection;12;1;2;0
  158. WireConnection;12;2;15;0
  159. WireConnection;0;2;12;0
  160. ASEEND*/
  161. //CHKSM=92C444EADDD068080B96AA0852E7B648C870B338