TextureArray.shader 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. // Made with Amplify Shader Editor
  2. // Available at the Unity Asset Store - http://u3d.as/y3X
  3. Shader "MTE/Standard/TextureArray"
  4. {
  5. Properties
  6. {
  7. _Control0("Control0", 2D) = "white" {}
  8. _Control1("Control1", 2D) = "white" {}
  9. _Control2("Control2", 2D) = "white" {}
  10. [NoScaleOffset]_TextureArray0("TextureArray0", 2DArray) = "white" {}
  11. [NoScaleOffset]_TextureArray1("TextureArray1", 2DArray) = "white" {}
  12. _UVScaleOffset("UVScaleOffset", Vector) = (0,0,0,0)
  13. _NormalIntensity("Normal Intensity", Range( 0.01 , 10)) = 1
  14. [Toggle(ENABLE_NORMAL_INTENSITY)] ENABLE_NORMAL_INTENSITY("Normal Intensity", Float) = 1
  15. [Toggle(_HasWeightMap1)] _HasWeightMap1("HasWeightMap1", Float) = 0
  16. [Toggle(_HasWeightMap2)] _HasWeightMap2("HasWeightMap2", Float) = 0
  17. [HideInInspector] _texcoord( "", 2D ) = "white" {}
  18. [HideInInspector] __dirty( "", Int ) = 1
  19. }
  20. SubShader
  21. {
  22. Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" }
  23. Cull Back
  24. CGPROGRAM
  25. #pragma target 3.0
  26. #pragma shader_feature_local _HasWeightMap1
  27. #pragma shader_feature_local _HasWeightMap2
  28. #pragma shader_feature_local ENABLE_NORMAL_INTENSITY
  29. #include "../../../MTECommonPBR.hlsl"
  30. #if defined(SHADER_API_D3D11) || defined(SHADER_API_XBOXONE) || defined(UNITY_COMPILER_HLSLCC) || defined(SHADER_API_PSSL) || (defined(SHADER_TARGET_SURFACE_ANALYSIS) && !defined(SHADER_TARGET_SURFACE_ANALYSIS_MOJOSHADER))//ASE Sampler Macros
  31. #define SAMPLE_TEXTURE2D_ARRAY(tex,samplerTex,coord) tex.Sample(samplerTex,coord)
  32. #else//ASE Sampling Macros
  33. #define SAMPLE_TEXTURE2D_ARRAY(tex,samplertex,coord) tex2DArray(tex,coord)
  34. #endif//ASE Sampling Macros
  35. #pragma surface surf Standard keepalpha addshadow fullforwardshadows
  36. struct Input
  37. {
  38. float2 uv_texcoord;
  39. };
  40. uniform sampler2D _Control0;
  41. uniform float4 _Control0_ST;
  42. uniform sampler2D _Control1;
  43. uniform float4 _Control1_ST;
  44. uniform sampler2D _Control2;
  45. uniform float4 _Control2_ST;
  46. UNITY_DECLARE_TEX2DARRAY_NOSAMPLER(_TextureArray1);
  47. uniform float4 _UVScaleOffset;
  48. SamplerState sampler_TextureArray1;
  49. uniform float _NormalIntensity;
  50. UNITY_DECLARE_TEX2DARRAY_NOSAMPLER(_TextureArray0);
  51. SamplerState sampler_TextureArray0;
  52. float4 WeightedBlend4264( half4 Weight, float4 Layer1, float4 Layer2, float4 Layer3, float4 Layer4 )
  53. {
  54. return Layer1 * Weight.r + Layer2 * Weight.g + Layer3 * Weight.b + Layer4 * Weight.a;
  55. }
  56. inline float3 RestoreNormal266( float2 NormalXY, float Intensity )
  57. {
  58. return RestoreNormal(NormalXY, Intensity);
  59. }
  60. float4 WeightedBlend4254( half4 Weight, float4 Layer1, float4 Layer2, float4 Layer3, float4 Layer4 )
  61. {
  62. return Layer1 * Weight.r + Layer2 * Weight.g + Layer3 * Weight.b + Layer4 * Weight.a;
  63. }
  64. void surf( Input i , inout SurfaceOutputStandard o )
  65. {
  66. float4 localGetMax4WeightLayers245 = ( float4( 0,0,0,0 ) );
  67. float2 uv_Control0 = i.uv_texcoord * _Control0_ST.xy + _Control0_ST.zw;
  68. float4 Control0245 = tex2D( _Control0, uv_Control0 );
  69. float4 _Vector0 = float4(0,0,0,0);
  70. float2 uv_Control1 = i.uv_texcoord * _Control1_ST.xy + _Control1_ST.zw;
  71. #ifdef _HasWeightMap1
  72. float4 staticSwitch241 = tex2D( _Control1, uv_Control1 );
  73. #else
  74. float4 staticSwitch241 = _Vector0;
  75. #endif
  76. float4 Control1245 = staticSwitch241;
  77. float2 uv_Control2 = i.uv_texcoord * _Control2_ST.xy + _Control2_ST.zw;
  78. #ifdef _HasWeightMap2
  79. float4 staticSwitch242 = tex2D( _Control2, uv_Control2 );
  80. #else
  81. float4 staticSwitch242 = _Vector0;
  82. #endif
  83. float4 Control2245 = staticSwitch242;
  84. float4 Weights245 = float4( 1,0,0,0 );
  85. float4 Indices245 = float4( 1,0,0,0 );
  86. {
  87. Max4WeightLayer(Control0245, Control1245, Control2245, Weights245, Indices245);
  88. }
  89. float4 Weight264 = Weights245;
  90. float4 appendResult234 = (float4(_UVScaleOffset.x , _UVScaleOffset.y , 0.0 , 0.0));
  91. float4 appendResult237 = (float4(_UVScaleOffset.z , _UVScaleOffset.w , 0.0 , 0.0));
  92. float2 uv_TexCoord243 = i.uv_texcoord * appendResult234.xy + appendResult237.xy;
  93. float2 TransformedUV246 = uv_TexCoord243;
  94. float4 break262 = Indices245;
  95. float4 Layer1264 = SAMPLE_TEXTURE2D_ARRAY( _TextureArray1, sampler_TextureArray1, float3(TransformedUV246,break262.x) );
  96. float4 Layer2264 = SAMPLE_TEXTURE2D_ARRAY( _TextureArray1, sampler_TextureArray1, float3(TransformedUV246,break262.y) );
  97. float4 Layer3264 = SAMPLE_TEXTURE2D_ARRAY( _TextureArray1, sampler_TextureArray1, float3(TransformedUV246,break262.z) );
  98. float4 Layer4264 = SAMPLE_TEXTURE2D_ARRAY( _TextureArray1, sampler_TextureArray1, float3(TransformedUV246,break262.w) );
  99. float4 localWeightedBlend4264 = WeightedBlend4264( Weight264 , Layer1264 , Layer2264 , Layer3264 , Layer4264 );
  100. float2 NormalXY266 = (localWeightedBlend4264).yz;
  101. #ifdef ENABLE_NORMAL_INTENSITY
  102. float staticSwitch274 = _NormalIntensity;
  103. #else
  104. float staticSwitch274 = 1.0;
  105. #endif
  106. float Intensity266 = staticSwitch274;
  107. float3 localRestoreNormal266 = RestoreNormal266( NormalXY266 , Intensity266 );
  108. o.Normal = localRestoreNormal266;
  109. float4 Weight254 = Weights245;
  110. float4 break248 = Indices245;
  111. float4 Layer1254 = SAMPLE_TEXTURE2D_ARRAY( _TextureArray0, sampler_TextureArray0, float3(TransformedUV246,break248.x) );
  112. float4 Layer2254 = SAMPLE_TEXTURE2D_ARRAY( _TextureArray0, sampler_TextureArray0, float3(TransformedUV246,break248.y) );
  113. float4 Layer3254 = SAMPLE_TEXTURE2D_ARRAY( _TextureArray0, sampler_TextureArray0, float3(TransformedUV246,break248.z) );
  114. float4 Layer4254 = SAMPLE_TEXTURE2D_ARRAY( _TextureArray0, sampler_TextureArray0, float3(TransformedUV246,break248.w) );
  115. float4 localWeightedBlend4254 = WeightedBlend4254( Weight254 , Layer1254 , Layer2254 , Layer3254 , Layer4254 );
  116. o.Albedo = (localWeightedBlend4254).xyz;
  117. o.Smoothness = ( 1.0 - (localWeightedBlend4264).x );
  118. o.Occlusion = (localWeightedBlend4264).w;
  119. o.Alpha = 1;
  120. }
  121. ENDCG
  122. }
  123. Fallback "Diffuse"
  124. CustomEditor "MTE.MTETextureArrayShaderGUI"
  125. }
  126. /*ASEBEGIN
  127. Version=18927
  128. 0;0;1920;1019;-1583.063;1004.017;1;True;False
  129. Node;AmplifyShaderEditor.CommentaryNode;227;-821.3513,-713.6486;Inherit;False;1549.657;668.5775;;13;245;242;241;240;239;238;236;235;233;232;231;229;228;Fetch max 4 weighted layers;1,1,1,1;0;0
  130. Node;AmplifyShaderEditor.TexturePropertyNode;228;-794.0494,-264.8109;Float;True;Property;_Control2;Control2;2;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1
  131. Node;AmplifyShaderEditor.TexturePropertyNode;229;-799.3513,-469.1873;Float;True;Property;_Control1;Control1;1;0;Create;True;0;0;0;False;0;False;None;None;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1
  132. Node;AmplifyShaderEditor.TextureCoordinatesNode;232;-548.1508,-403.6502;Inherit;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.TextureCoordinatesNode;233;-542.8482,-199.2738;Inherit;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
  134. Node;AmplifyShaderEditor.Vector4Node;230;-270.9001,184.9758;Inherit;False;Property;_UVScaleOffset;UVScaleOffset;5;0;Create;True;0;0;0;False;0;False;0,0,0,0;12.6,12.6,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  135. Node;AmplifyShaderEditor.TexturePropertyNode;231;-797.0493,-653.6486;Float;True;Property;_Control0;Control0;0;0;Create;True;0;0;0;False;0;False;None;a1cac4206712b884fbfa27d39a00d437;False;white;Auto;Texture2D;-1;0;2;SAMPLER2D;0;SAMPLERSTATE;1
  136. Node;AmplifyShaderEditor.Vector4Node;236;-2.410011,-424.2649;Inherit;False;Constant;_Vector0;Vector 0;7;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  137. Node;AmplifyShaderEditor.SamplerNode;238;-283.3751,-262.071;Inherit;True;Property;_TextureSample0;Texture Sample 0;0;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  138. Node;AmplifyShaderEditor.DynamicAppendNode;237;-48.16223,298.1642;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
  139. Node;AmplifyShaderEditor.SamplerNode;239;-288.6776,-466.4474;Inherit;True;Property;_ControlEx;ControlEx;0;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  140. Node;AmplifyShaderEditor.TextureCoordinatesNode;235;-542.8488,-586.1115;Inherit;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
  141. Node;AmplifyShaderEditor.DynamicAppendNode;234;-48.729,156.3446;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
  142. Node;AmplifyShaderEditor.StaticSwitch;241;192.1346,-494.4469;Inherit;False;Property;_HasWeightMap1;HasWeightMap1;8;0;Create;False;0;0;0;False;0;False;0;0;0;True;_HasWeightMap1;Toggle;2;Key0;Key1;Create;True;False;9;1;FLOAT4;0,0,0,0;False;0;FLOAT4;0,0,0,0;False;2;FLOAT4;0,0,0,0;False;3;FLOAT4;0,0,0,0;False;4;FLOAT4;0,0,0,0;False;5;FLOAT4;0,0,0,0;False;6;FLOAT4;0,0,0,0;False;7;FLOAT4;0,0,0,0;False;8;FLOAT4;0,0,0,0;False;1;FLOAT4;0
  143. Node;AmplifyShaderEditor.StaticSwitch;242;193.7366,-387.4635;Inherit;False;Property;_HasWeightMap2;HasWeightMap2;9;0;Create;False;0;0;0;False;0;False;0;0;0;True;_HasWeightMap2;Toggle;2;Key0;Key1;Create;True;False;9;1;FLOAT4;0,0,0,0;False;0;FLOAT4;0,0,0,0;False;2;FLOAT4;0,0,0,0;False;3;FLOAT4;0,0,0,0;False;4;FLOAT4;0,0,0,0;False;5;FLOAT4;0,0,0,0;False;6;FLOAT4;0,0,0,0;False;7;FLOAT4;0,0,0,0;False;8;FLOAT4;0,0,0,0;False;1;FLOAT4;0
  144. Node;AmplifyShaderEditor.TextureCoordinatesNode;243;103.2012,202.7012;Inherit;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
  145. Node;AmplifyShaderEditor.SamplerNode;240;-295.4816,-651.1327;Inherit;True;Property;_TextureSample1;Texture Sample 1;1;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;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;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  146. Node;AmplifyShaderEditor.CommentaryNode;255;807.0278,532.6627;Inherit;False;863.0828;860.0196;By default, R is smoothness, GB is normal and A is Ambient Occlusion.;7;270;269;268;262;259;258;256;Sample from second TextureArray2D;1,1,1,1;0;0
  147. Node;AmplifyShaderEditor.RegisterLocalVarNode;246;308.459,197.6686;Inherit;False;TransformedUV;-1;True;1;0;FLOAT2;0,0;False;1;FLOAT2;0
  148. Node;AmplifyShaderEditor.CustomExpressionNode;245;507.1738,-530.3986;Inherit;False;Max4WeightLayer(Control0, Control1, Control2, Weights, Indices)@;7;Create;5;True;Control0;FLOAT4;1,0,0,0;In;;Inherit;False;True;Control1;FLOAT4;0,0,0,0;In;;Inherit;False;True;Control2;FLOAT4;0,0,0,0;In;;Inherit;False;True;Weights;FLOAT4;1,0,0,0;Out;;Inherit;False;True;Indices;FLOAT4;1,0,0,0;Out;;Half;False;GetMax4WeightLayers;False;False;0;;False;6;0;FLOAT4;0,0,0,0;False;1;FLOAT4;1,0,0,0;False;2;FLOAT4;0,0,0,0;False;3;FLOAT4;0,0,0,0;False;4;FLOAT4;1,0,0,0;False;5;FLOAT4;1,0,0,0;False;3;FLOAT4;0;FLOAT4;5;FLOAT4;6
  149. Node;AmplifyShaderEditor.BreakToComponentsNode;262;840.7726,849.4911;Inherit;False;FLOAT4;1;0;FLOAT4;0,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
  150. Node;AmplifyShaderEditor.TexturePropertyNode;259;849.5729,656.7631;Inherit;True;Property;_TextureArray1;TextureArray1;4;1;[NoScaleOffset];Create;True;0;0;0;False;0;False;None;None;False;white;LockedToTexture2DArray;Texture2DArray;-1;0;2;SAMPLER2DARRAY;0;SAMPLERSTATE;1
  151. Node;AmplifyShaderEditor.CommentaryNode;244;802.7973,-385.0916;Inherit;False;872.7976;840.5895;By default, RGB is Albedo.;7;253;252;251;250;249;248;247;Sample from first TextureArray2D;1,1,1,1;0;0
  152. Node;AmplifyShaderEditor.GetLocalVarNode;258;859.7509,1007.657;Inherit;False;246;TransformedUV;1;0;OBJECT;;False;1;FLOAT2;0
  153. Node;AmplifyShaderEditor.SamplerNode;268;1347.385,779.8341;Inherit;True;Property;_TextureSample5;Texture Sample 5;4;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2DArray;8;0;SAMPLER2DARRAY;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  154. Node;AmplifyShaderEditor.SamplerNode;256;1352.531,585.6627;Inherit;True;Property;_Layer0;Layer0;3;0;Fetch;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2DArray;8;0;SAMPLER2DARRAY;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  155. Node;AmplifyShaderEditor.GetLocalVarNode;249;880.58,119.6512;Inherit;False;246;TransformedUV;1;0;OBJECT;;False;1;FLOAT2;0
  156. Node;AmplifyShaderEditor.SamplerNode;269;1350.11,1173.997;Inherit;True;Property;_TextureSample6;Texture Sample 6;6;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2DArray;8;0;SAMPLER2DARRAY;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  157. Node;AmplifyShaderEditor.BreakToComponentsNode;248;846.257,-68.26346;Inherit;False;FLOAT4;1;0;FLOAT4;0,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
  158. Node;AmplifyShaderEditor.TexturePropertyNode;247;845.0573,-262.2738;Inherit;True;Property;_TextureArray0;TextureArray0;3;1;[NoScaleOffset];Create;True;0;0;0;False;0;False;None;None;False;white;LockedToTexture2DArray;Texture2DArray;-1;0;2;SAMPLER2DARRAY;0;SAMPLERSTATE;1
  159. Node;AmplifyShaderEditor.SamplerNode;270;1348.81,978.9967;Inherit;True;Property;_TextureSample7;Texture Sample 7;5;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2DArray;8;0;SAMPLER2DARRAY;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  160. Node;AmplifyShaderEditor.SamplerNode;253;1352.87,-137.9205;Inherit;True;Property;_TextureSample2;Texture Sample 2;4;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2DArray;8;0;SAMPLER2DARRAY;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  161. Node;AmplifyShaderEditor.SamplerNode;250;1351.016,-335.0916;Inherit;True;Property;_Layer0;Layer0;3;0;Fetch;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2DArray;8;0;SAMPLER2DARRAY;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  162. Node;AmplifyShaderEditor.CommentaryNode;273;2217.663,-250.6196;Inherit;False;332;155;Required by MTE shader UI. Don't Delete.;1;274;;1,1,1,1;0;0
  163. Node;AmplifyShaderEditor.RangedFloatNode;257;1926.306,-167.6959;Inherit;False;Property;_NormalIntensity;Normal Intensity;6;0;Create;True;0;0;0;False;0;False;1;1;0.01;10;0;1;FLOAT;0
  164. Node;AmplifyShaderEditor.SamplerNode;252;1354.295,61.24222;Inherit;True;Property;_TextureSample3;Texture Sample 3;5;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2DArray;8;0;SAMPLER2DARRAY;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  165. Node;AmplifyShaderEditor.SamplerNode;251;1355.595,256.2424;Inherit;True;Property;_TextureSample4;Texture Sample 4;6;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2DArray;8;0;SAMPLER2DARRAY;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  166. Node;AmplifyShaderEditor.CustomExpressionNode;264;1958.964,-508.2785;Float;False;return Layer1 * Weight.r + Layer2 * Weight.g + Layer3 * Weight.b + Layer4 * Weight.a@;4;Create;5;True;Weight;FLOAT4;0,0,0,0;In;float[5];Half;False;True;Layer1;FLOAT4;0,0,0,0;In;;Float;False;True;Layer2;FLOAT4;0,0,0,0;In;;Float;False;True;Layer3;FLOAT4;0,0,0,0;In;;Float;False;True;Layer4;FLOAT4;0,0,0,0;In;;Float;False;Weighted Blend 4;True;False;0;;False;5;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;2;FLOAT4;0,0,0,0;False;3;FLOAT4;0,0,0,0;False;4;FLOAT4;0,0,0,0;False;1;FLOAT4;0
  167. Node;AmplifyShaderEditor.RangedFloatNode;275;2028.189,-261.8654;Inherit;False;Constant;_Float0;Float 0;8;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0
  168. Node;AmplifyShaderEditor.ComponentMaskNode;260;2151.959,-429.2699;Inherit;False;False;True;True;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT2;0
  169. Node;AmplifyShaderEditor.CustomExpressionNode;254;1954.158,-690.9645;Float;False;return Layer1 * Weight.r + Layer2 * Weight.g + Layer3 * Weight.b + Layer4 * Weight.a@;4;Create;5;True;Weight;FLOAT4;0,0,0,0;In;float[5];Half;False;True;Layer1;FLOAT4;0,0,0,0;In;;Float;False;True;Layer2;FLOAT4;0,0,0,0;In;;Float;False;True;Layer3;FLOAT4;0,0,0,0;In;;Float;False;True;Layer4;FLOAT4;0,0,0,0;In;;Float;False;Weighted Blend 4;True;False;0;;False;5;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0,0,0,0;False;2;FLOAT4;0,0,0,0;False;3;FLOAT4;0,0,0,0;False;4;FLOAT4;0,0,0,0;False;1;FLOAT4;0
  170. Node;AmplifyShaderEditor.StaticSwitch;274;2244.714,-205.1112;Inherit;False;Property;ENABLE_NORMAL_INTENSITY;Normal Intensity;7;0;Create;False;0;0;0;False;0;False;0;1;1;True;ENABLE_NORMAL_INTENSITY;Toggle;2;Key0;Key1;Create;True;False;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0
  171. Node;AmplifyShaderEditor.ComponentMaskNode;267;2152.959,-534.2699;Inherit;False;True;False;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT;0
  172. Node;AmplifyShaderEditor.ComponentMaskNode;263;2171.997,-696.3516;Inherit;False;True;True;True;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0
  173. Node;AmplifyShaderEditor.CustomExpressionNode;266;2379.453,-424.3719;Inherit;False;RestoreNormal(NormalXY, Intensity);3;Create;2;True;NormalXY;FLOAT2;0,0;In;;Inherit;False;True;Intensity;FLOAT;1;In;;Inherit;False;RestoreNormal;True;False;0;;False;2;0;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT3;0
  174. Node;AmplifyShaderEditor.ComponentMaskNode;261;2154.959,-344.2699;Inherit;False;False;False;False;True;1;0;FLOAT4;0,0,0,0;False;1;FLOAT;0
  175. Node;AmplifyShaderEditor.OneMinusNode;265;2406.283,-527.8861;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
  176. Node;AmplifyShaderEditor.StandardSurfaceOutputNode;216;2616.188,-692.3808;Float;False;True;-1;2;MTE.MTETextureArrayShaderGUI;0;0;Standard;MTE/Standard/TextureArray;False;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;18;all;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;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;1;Include;../../../MTECommonPBR.hlsl;False;fa510ed2a5a3b2d4a9ef902d0fbdd6e2;Custom;0;0;False;0.1;False;-1;0;False;-1;False;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
  177. WireConnection;232;2;229;0
  178. WireConnection;233;2;228;0
  179. WireConnection;238;0;228;0
  180. WireConnection;238;1;233;0
  181. WireConnection;237;0;230;3
  182. WireConnection;237;1;230;4
  183. WireConnection;239;0;229;0
  184. WireConnection;239;1;232;0
  185. WireConnection;235;2;231;0
  186. WireConnection;234;0;230;1
  187. WireConnection;234;1;230;2
  188. WireConnection;241;1;236;0
  189. WireConnection;241;0;239;0
  190. WireConnection;242;1;236;0
  191. WireConnection;242;0;238;0
  192. WireConnection;243;0;234;0
  193. WireConnection;243;1;237;0
  194. WireConnection;240;0;231;0
  195. WireConnection;240;1;235;0
  196. WireConnection;246;0;243;0
  197. WireConnection;245;1;240;0
  198. WireConnection;245;2;241;0
  199. WireConnection;245;3;242;0
  200. WireConnection;262;0;245;6
  201. WireConnection;268;0;259;0
  202. WireConnection;268;1;258;0
  203. WireConnection;268;6;262;1
  204. WireConnection;256;0;259;0
  205. WireConnection;256;1;258;0
  206. WireConnection;256;6;262;0
  207. WireConnection;269;0;259;0
  208. WireConnection;269;1;258;0
  209. WireConnection;269;6;262;3
  210. WireConnection;248;0;245;6
  211. WireConnection;270;0;259;0
  212. WireConnection;270;1;258;0
  213. WireConnection;270;6;262;2
  214. WireConnection;253;0;247;0
  215. WireConnection;253;1;249;0
  216. WireConnection;253;6;248;1
  217. WireConnection;250;0;247;0
  218. WireConnection;250;1;249;0
  219. WireConnection;250;6;248;0
  220. WireConnection;252;0;247;0
  221. WireConnection;252;1;249;0
  222. WireConnection;252;6;248;2
  223. WireConnection;251;0;247;0
  224. WireConnection;251;1;249;0
  225. WireConnection;251;6;248;3
  226. WireConnection;264;0;245;5
  227. WireConnection;264;1;256;0
  228. WireConnection;264;2;268;0
  229. WireConnection;264;3;270;0
  230. WireConnection;264;4;269;0
  231. WireConnection;260;0;264;0
  232. WireConnection;254;0;245;5
  233. WireConnection;254;1;250;0
  234. WireConnection;254;2;253;0
  235. WireConnection;254;3;252;0
  236. WireConnection;254;4;251;0
  237. WireConnection;274;1;275;0
  238. WireConnection;274;0;257;0
  239. WireConnection;267;0;264;0
  240. WireConnection;263;0;254;0
  241. WireConnection;266;0;260;0
  242. WireConnection;266;1;274;0
  243. WireConnection;261;0;264;0
  244. WireConnection;265;0;267;0
  245. WireConnection;216;0;263;0
  246. WireConnection;216;1;266;0
  247. WireConnection;216;4;265;0
  248. WireConnection;216;5;261;0
  249. ASEEND*/
  250. //CHKSM=5FABED68A880AFCA69F14972D542E6DAA8440A67