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.

82 lines
4.2 KiB

  1. // Made with Amplify Shader Editor
  2. // Available at the Unity Asset Store - http://u3d.as/y3X
  3. Shader "ASESampleShaders/NormalExtrusion"
  4. {
  5. Properties
  6. {
  7. _ExtrusionPoint("ExtrusionPoint", Float) = 0
  8. _ExtrusionAmount("Extrusion Amount", Range( -1 , 20)) = 0.5
  9. _Albedo("Albedo", 2D) = "white" {}
  10. [HideInInspector] _texcoord( "", 2D ) = "white" {}
  11. [HideInInspector] __dirty( "", Int ) = 1
  12. }
  13. SubShader
  14. {
  15. Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" }
  16. Cull Back
  17. ZTest LEqual
  18. CGPROGRAM
  19. #include "UnityShaderVariables.cginc"
  20. #pragma target 3.0
  21. #pragma surface surf Standard keepalpha addshadow fullforwardshadows vertex:vertexDataFunc
  22. struct Input
  23. {
  24. float2 uv_texcoord;
  25. };
  26. uniform sampler2D _Albedo;
  27. uniform float4 _Albedo_ST;
  28. uniform float _ExtrusionPoint;
  29. uniform float _ExtrusionAmount;
  30. void vertexDataFunc( inout appdata_full v, out Input o )
  31. {
  32. UNITY_INITIALIZE_OUTPUT( Input, o );
  33. float3 ase_vertexNormal = v.normal.xyz;
  34. float3 ase_vertex3Pos = v.vertex.xyz;
  35. v.vertex.xyz += ( ase_vertexNormal * max( ( sin( ( ( ase_vertex3Pos.y + _Time.x ) / _ExtrusionPoint ) ) / _ExtrusionAmount ) , 0.0 ) );
  36. }
  37. void surf( Input i , inout SurfaceOutputStandard o )
  38. {
  39. float2 uv_Albedo = i.uv_texcoord * _Albedo_ST.xy + _Albedo_ST.zw;
  40. o.Albedo = tex2D( _Albedo, uv_Albedo ).rgb;
  41. o.Alpha = 1;
  42. }
  43. ENDCG
  44. }
  45. Fallback "Diffuse"
  46. CustomEditor "ASEMaterialInspector"
  47. }
  48. /*ASEBEGIN
  49. Version=13803
  50. 566;511;900;507;2038.401;664.2113;2.695082;True;False
  51. Node;AmplifyShaderEditor.PosVertexDataNode;18;-1312,128;Float;False;0;0;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT
  52. Node;AmplifyShaderEditor.TimeNode;25;-1312,272;Float;False;0;5;FLOAT4;FLOAT;FLOAT;FLOAT;FLOAT
  53. Node;AmplifyShaderEditor.SimpleAddOpNode;22;-1056,160;Float;False;2;2;0;FLOAT;0.0;False;1;FLOAT;0.0;False;1;FLOAT
  54. Node;AmplifyShaderEditor.RangedFloatNode;21;-1056,256;Float;False;Property;_ExtrusionPoint;ExtrusionPoint;0;0;0;0;0;0;1;FLOAT
  55. Node;AmplifyShaderEditor.SimpleDivideOpNode;19;-832,160;Float;False;2;0;FLOAT;0.0;False;1;FLOAT;5.0;False;1;FLOAT
  56. Node;AmplifyShaderEditor.SinOpNode;20;-656,160;Float;False;1;0;FLOAT;0.0;False;1;FLOAT
  57. Node;AmplifyShaderEditor.RangedFloatNode;3;-832,256;Float;False;Property;_ExtrusionAmount;Extrusion Amount;1;0;0.5;-1;20;0;1;FLOAT
  58. Node;AmplifyShaderEditor.SimpleDivideOpNode;24;-464,160;Float;False;2;0;FLOAT;0.0;False;1;FLOAT;10.0;False;1;FLOAT
  59. Node;AmplifyShaderEditor.NormalVertexDataNode;2;-304,0;Float;False;0;5;FLOAT3;FLOAT;FLOAT;FLOAT;FLOAT
  60. Node;AmplifyShaderEditor.SimpleMaxOpNode;26;-304,160;Float;False;2;0;FLOAT;0.0;False;1;FLOAT;0.0;False;1;FLOAT
  61. Node;AmplifyShaderEditor.SamplerNode;1;-384,-256;Float;True;Property;_Albedo;Albedo;2;0;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;0,0;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
  62. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;4;-48,16;Float;False;2;2;0;FLOAT3;0.0,0,0;False;1;FLOAT;0.0,0,0;False;1;FLOAT3
  63. Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;128,-256;Float;False;True;2;Float;ASEMaterialInspector;0;0;Standard;ASESampleShaders/NormalExtrusion;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;3;False;0;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;False;0;255;255;0;0;0;0;0;0;0;0;False;0;4;10;25;False;0.5;True;0;Zero;Zero;0;Zero;Zero;OFF;OFF;0;False;0;0,0,0,0;VertexOffset;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;0;0;False;16;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;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0.0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
  64. WireConnection;22;0;18;2
  65. WireConnection;22;1;25;1
  66. WireConnection;19;0;22;0
  67. WireConnection;19;1;21;0
  68. WireConnection;20;0;19;0
  69. WireConnection;24;0;20;0
  70. WireConnection;24;1;3;0
  71. WireConnection;26;0;24;0
  72. WireConnection;4;0;2;0
  73. WireConnection;4;1;26;0
  74. WireConnection;0;0;1;0
  75. WireConnection;0;11;4;0
  76. ASEEND*/
  77. //CHKSM=514A9823D864937F5A3DBE606ADF4F106613B567