FAE_TreeTrunk.shader 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. // Made with Amplify Shader Editor
  2. // Available at the Unity Asset Store - http://u3d.as/y3X
  3. Shader "FAE/Tree Trunk"
  4. {
  5. Properties
  6. {
  7. _MainTex("MainTex", 2D) = "white" {}
  8. _BumpMap("BumpMap", 2D) = "white" {}
  9. _GradientBrightness("GradientBrightness", Range( 0 , 2)) = 1
  10. _AmbientOcclusion("Ambient Occlusion", Range( 0 , 1)) = 0.5
  11. [Toggle]_UseSpeedTreeWind("UseSpeedTreeWind", Float) = 0
  12. _Smoothness("Smoothness", Range( 0 , 1)) = 0
  13. [HideInInspector] _texcoord2( "", 2D ) = "white" {}
  14. [HideInInspector] _texcoord( "", 2D ) = "white" {}
  15. [HideInInspector] __dirty( "", Int ) = 1
  16. }
  17. SubShader
  18. {
  19. Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" }
  20. Cull Back
  21. CGPROGRAM
  22. #include "UnityShaderVariables.cginc"
  23. #pragma target 3.0
  24. #pragma multi_compile_instancing
  25. #include "VS_InstancedIndirect.cginc"
  26. #pragma instancing_options assumeuniformscaling lodfade maxcount:50 procedural:setup
  27. #pragma multi_compile GPU_FRUSTUM_ON __
  28. #pragma exclude_renderers xbox360 psp2 n3ds wiiu
  29. #pragma surface surf Standard keepalpha addshadow fullforwardshadows dithercrossfade vertex:vertexDataFunc
  30. struct Input
  31. {
  32. float2 uv_texcoord;
  33. float4 vertexColor : COLOR;
  34. float2 uv2_texcoord2;
  35. };
  36. uniform float _WindSpeed;
  37. uniform float _TrunkWindSpeed;
  38. uniform float4 _WindDirection;
  39. uniform float _TrunkWindSwinging;
  40. uniform half _TrunkWindWeight;
  41. uniform float _UseSpeedTreeWind;
  42. uniform sampler2D _BumpMap;
  43. uniform float4 _BumpMap_ST;
  44. uniform float _GradientBrightness;
  45. uniform sampler2D _MainTex;
  46. uniform float4 _MainTex_ST;
  47. uniform float _Smoothness;
  48. uniform float _AmbientOcclusion;
  49. void vertexDataFunc( inout appdata_full v, out Input o )
  50. {
  51. UNITY_INITIALIZE_OUTPUT( Input, o );
  52. float3 ase_objectScale = float3( length( unity_ObjectToWorld[ 0 ].xyz ), length( unity_ObjectToWorld[ 1 ].xyz ), length( unity_ObjectToWorld[ 2 ].xyz ) );
  53. float3 appendResult88 = (float3(_WindDirection.x , 0.0 , _WindDirection.z));
  54. float3 _Vector1 = float3(1,1,1);
  55. float3 break94 = (float3( 0,0,0 ) + (sin( ( ( ( ( _WindSpeed * 0.05 ) * _Time.w ) * ( _TrunkWindSpeed / ase_objectScale ) ) * appendResult88 ) ) - ( float3(-1,-1,-1) + _TrunkWindSwinging )) * (_Vector1 - float3( 0,0,0 )) / (_Vector1 - ( float3(-1,-1,-1) + _TrunkWindSwinging )));
  56. float3 appendResult93 = (float3(break94.x , 0.0 , break94.z));
  57. float3 temp_output_41_0 = ( appendResult93 * _TrunkWindWeight * (( _UseSpeedTreeWind )?( ( v.texcoord1.xy.y * 0.01 ) ):( v.color.a )) );
  58. float3 Wind111 = temp_output_41_0;
  59. v.vertex.xyz += Wind111;
  60. }
  61. void surf( Input i , inout SurfaceOutputStandard o )
  62. {
  63. float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw;
  64. float3 Normals113 = UnpackNormal( tex2D( _BumpMap, uv_BumpMap ) );
  65. o.Normal = Normals113;
  66. float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
  67. float4 tex2DNode45 = tex2D( _MainTex, uv_MainTex );
  68. float4 lerpResult85 = lerp( ( _GradientBrightness * tex2DNode45 ) , tex2DNode45 , (( _UseSpeedTreeWind )?( i.uv2_texcoord2.y ):( ( 1.0 - ( i.vertexColor.a * 10.0 ) ) )));
  69. float4 Albedo115 = lerpResult85;
  70. o.Albedo = Albedo115.rgb;
  71. half Roughness109 = ( tex2DNode45.a * _Smoothness );
  72. o.Smoothness = Roughness109;
  73. float lerpResult120 = lerp( 1.0 , i.vertexColor.r , _AmbientOcclusion);
  74. o.Occlusion = lerpResult120;
  75. o.Alpha = 1;
  76. }
  77. ENDCG
  78. }
  79. Fallback "Diffuse"
  80. CustomEditor "FAE.TreeTrunkShaderGUI"
  81. }
  82. /*ASEBEGIN
  83. Version=17400
  84. 1927;29;1906;1004;-528.5226;581.4636;1;True;False
  85. Node;AmplifyShaderEditor.CommentaryNode;119;-473.8982,-2238.46;Inherit;False;3601.922;1223.073;;28;13;14;16;17;19;15;21;62;18;88;23;82;28;27;83;32;84;81;94;78;37;93;41;111;127;128;129;130;Wind motion;1,1,1,1;0;0
  86. Node;AmplifyShaderEditor.RangedFloatNode;14;-357.037,-2110.237;Float;False;Constant;_Float3;Float 3;10;0;Create;True;0;0;False;0;0.05;0;0;0;0;1;FLOAT;0
  87. Node;AmplifyShaderEditor.RangedFloatNode;13;-423.8982,-2188.46;Float;False;Global;_WindSpeed;_WindSpeed;7;0;Create;True;0;0;False;0;0.3;0.5;0;1;0;1;FLOAT;0
  88. Node;AmplifyShaderEditor.TimeNode;15;-122.8037,-2069.158;Inherit;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  89. Node;AmplifyShaderEditor.ObjectScaleNode;17;-44.83769,-1464.938;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
  90. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;19;-44.63774,-2181.637;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
  91. Node;AmplifyShaderEditor.RangedFloatNode;16;-122.4307,-1559.33;Float;False;Global;_TrunkWindSpeed;_TrunkWindSpeed;10;0;Create;True;0;0;False;0;10;10;0;0;0;1;FLOAT;0
  92. Node;AmplifyShaderEditor.Vector4Node;18;-98.73761,-1770.237;Float;False;Global;_WindDirection;_WindDirection;9;0;Create;True;0;0;False;0;0,0,0,0;-0.9450631,0,-0.326888,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  93. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;21;177.6025,-2132.86;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
  94. Node;AmplifyShaderEditor.SimpleDivideOpNode;62;196.2327,-1562.635;Inherit;False;2;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
  95. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;23;417.268,-1851.53;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
  96. Node;AmplifyShaderEditor.DynamicAppendNode;88;174.4365,-1749.536;Inherit;False;FLOAT3;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT3;0
  97. Node;AmplifyShaderEditor.RangedFloatNode;27;587.163,-1464.039;Float;False;Global;_TrunkWindSwinging;_TrunkWindSwinging;10;0;Create;True;0;0;False;0;0;0.2;0;0;0;1;FLOAT;0
  98. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;28;677.6683,-1766.735;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0
  99. Node;AmplifyShaderEditor.Vector3Node;82;668.8383,-1648.035;Float;False;Constant;_Vector0;Vector 0;2;0;Create;True;0;0;False;0;-1,-1,-1;0,0,0;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
  100. Node;AmplifyShaderEditor.SinOpNode;32;879.9669,-1794.236;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0
  101. Node;AmplifyShaderEditor.VertexColorNode;117;984.9073,-150.5033;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  102. Node;AmplifyShaderEditor.SimpleAddOpNode;83;910.838,-1617.035;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0
  103. Node;AmplifyShaderEditor.RangedFloatNode;123;1012.302,34.87868;Float;False;Constant;_Float0;Float 0;4;0;Create;True;0;0;False;0;10;0;0;0;0;1;FLOAT;0
  104. Node;AmplifyShaderEditor.Vector3Node;84;881.838,-1469.036;Float;False;Constant;_Vector1;Vector 1;2;0;Create;True;0;0;False;0;1,1,1;0,0,0;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
  105. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;122;1217.016,-85.42675;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
  106. Node;AmplifyShaderEditor.TextureCoordinatesNode;127;1481.402,-1248.125;Inherit;False;1;-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
  107. Node;AmplifyShaderEditor.TFHCRemapNode;81;1284.713,-1768.683;Inherit;False;5;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;1,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT3;1,0,0;False;1;FLOAT3;0
  108. Node;AmplifyShaderEditor.VertexColorNode;78;1484.933,-1431.726;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  109. Node;AmplifyShaderEditor.RangedFloatNode;87;797.7031,-692.3798;Float;False;Property;_GradientBrightness;GradientBrightness;2;0;Create;True;0;0;False;0;1;0;0;2;0;1;FLOAT;0
  110. Node;AmplifyShaderEditor.TextureCoordinatesNode;134;938.7589,130.2208;Inherit;False;1;-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
  111. Node;AmplifyShaderEditor.OneMinusNode;118;1398.091,-96.00053;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
  112. Node;AmplifyShaderEditor.SamplerNode;45;710.5229,-583.6145;Inherit;True;Property;_MainTex;MainTex;0;0;Create;True;0;0;False;0;-1;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;0;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  113. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;128;1825.941,-1220.226;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0.01;False;1;FLOAT;0
  114. Node;AmplifyShaderEditor.BreakToComponentsNode;94;1549.968,-1735.767;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15
  115. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;86;1412.229,-570.617;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
  116. Node;AmplifyShaderEditor.DynamicAppendNode;93;2027.235,-1738.305;Inherit;False;FLOAT3;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT3;0
  117. Node;AmplifyShaderEditor.ToggleSwitchNode;133;1622.04,-108.5876;Float;False;Property;_UseSpeedTreeWind;UseSpeedTreeWind;4;0;Create;True;0;0;False;0;0;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
  118. Node;AmplifyShaderEditor.RangedFloatNode;37;1960.233,-1565.685;Half;False;Global;_TrunkWindWeight;_TrunkWindWeight;10;0;Create;True;0;0;False;0;2;6;0;0;0;1;FLOAT;0
  119. Node;AmplifyShaderEditor.ToggleSwitchNode;129;2078.941,-1367.226;Float;False;Property;_UseSpeedTreeWind;UseSpeedTreeWind;4;0;Create;True;0;0;False;0;0;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
  120. Node;AmplifyShaderEditor.RangedFloatNode;132;701.2919,-186.0127;Float;False;Property;_Smoothness;Smoothness;5;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0
  121. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;131;1050.292,-307.0127;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
  122. Node;AmplifyShaderEditor.SamplerNode;46;1702.239,71.77939;Inherit;True;Property;_BumpMap;BumpMap;1;0;Create;True;0;0;False;0;-1;None;None;True;0;False;white;Auto;True;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;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  123. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;41;2392.929,-1653.667;Inherit;False;3;3;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT3;0
  124. Node;AmplifyShaderEditor.LerpOp;85;1792.079,-409.7187;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
  125. Node;AmplifyShaderEditor.VertexColorNode;90;2541.868,-296.6569;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  126. Node;AmplifyShaderEditor.RegisterLocalVarNode;111;2888.024,-1663.535;Float;False;Wind;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0
  127. Node;AmplifyShaderEditor.RangedFloatNode;121;2484.725,-37.76178;Float;False;Property;_AmbientOcclusion;Ambient Occlusion;3;0;Create;True;0;0;False;0;0.5;0;0;1;0;1;FLOAT;0
  128. Node;AmplifyShaderEditor.RegisterLocalVarNode;115;2219.219,-416.456;Float;False;Albedo;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0
  129. Node;AmplifyShaderEditor.RegisterLocalVarNode;109;1234.988,-404.1858;Half;False;Roughness;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
  130. Node;AmplifyShaderEditor.RegisterLocalVarNode;113;2172.658,62.40754;Float;False;Normals;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0
  131. Node;AmplifyShaderEditor.VertexToFragmentNode;130;2620.842,-1638.352;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0
  132. Node;AmplifyShaderEditor.LerpOp;120;2863.725,-116.7618;Inherit;False;3;0;FLOAT;1;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0
  133. Node;AmplifyShaderEditor.GetLocalVarNode;110;2847.944,-283.1704;Inherit;False;109;Roughness;1;0;OBJECT;0;False;1;FLOAT;0
  134. Node;AmplifyShaderEditor.GetLocalVarNode;114;2845.253,-371.6863;Inherit;False;113;Normals;1;0;OBJECT;0;False;1;FLOAT3;0
  135. Node;AmplifyShaderEditor.GetLocalVarNode;116;2859.665,-459.6248;Inherit;False;115;Albedo;1;0;OBJECT;0;False;1;COLOR;0
  136. Node;AmplifyShaderEditor.GetLocalVarNode;112;2849.923,6.235733;Inherit;False;111;Wind;1;0;OBJECT;0;False;1;FLOAT3;0
  137. Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;3187.507,-301.7967;Float;False;True;-1;2;FAE.TreeTrunkShaderGUI;0;0;Standard;FAE/Tree Trunk;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;True;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;10;d3d9;d3d11_9x;d3d11;glcore;gles;gles3;metal;vulkan;xboxone;ps4;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;0;0;False;-1;0;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;Include;VS_InstancedIndirect.cginc;False;;Custom;Pragma;instancing_options assumeuniformscaling lodfade maxcount:50 procedural:setup;False;;Custom;Pragma;multi_compile GPU_FRUSTUM_ON __;False;;Custom;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
  138. WireConnection;19;0;13;0
  139. WireConnection;19;1;14;0
  140. WireConnection;21;0;19;0
  141. WireConnection;21;1;15;4
  142. WireConnection;62;0;16;0
  143. WireConnection;62;1;17;0
  144. WireConnection;23;0;21;0
  145. WireConnection;23;1;62;0
  146. WireConnection;88;0;18;1
  147. WireConnection;88;2;18;3
  148. WireConnection;28;0;23;0
  149. WireConnection;28;1;88;0
  150. WireConnection;32;0;28;0
  151. WireConnection;83;0;82;0
  152. WireConnection;83;1;27;0
  153. WireConnection;122;0;117;4
  154. WireConnection;122;1;123;0
  155. WireConnection;81;0;32;0
  156. WireConnection;81;1;83;0
  157. WireConnection;81;2;84;0
  158. WireConnection;81;4;84;0
  159. WireConnection;118;0;122;0
  160. WireConnection;128;0;127;2
  161. WireConnection;94;0;81;0
  162. WireConnection;86;0;87;0
  163. WireConnection;86;1;45;0
  164. WireConnection;93;0;94;0
  165. WireConnection;93;2;94;2
  166. WireConnection;133;0;118;0
  167. WireConnection;133;1;134;2
  168. WireConnection;129;0;78;4
  169. WireConnection;129;1;128;0
  170. WireConnection;131;0;45;4
  171. WireConnection;131;1;132;0
  172. WireConnection;41;0;93;0
  173. WireConnection;41;1;37;0
  174. WireConnection;41;2;129;0
  175. WireConnection;85;0;86;0
  176. WireConnection;85;1;45;0
  177. WireConnection;85;2;133;0
  178. WireConnection;111;0;41;0
  179. WireConnection;115;0;85;0
  180. WireConnection;109;0;131;0
  181. WireConnection;113;0;46;0
  182. WireConnection;130;0;41;0
  183. WireConnection;120;1;90;1
  184. WireConnection;120;2;121;0
  185. WireConnection;0;0;116;0
  186. WireConnection;0;1;114;0
  187. WireConnection;0;4;110;0
  188. WireConnection;0;5;120;0
  189. WireConnection;0;11;112;0
  190. ASEEND*/
  191. //CHKSM=59FA487F413421D647C048F028A454D7CE46C64E