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.

126 lines
8.4 KiB

  1. // Made with Amplify Shader Editor
  2. // Available at the Unity Asset Store - http://u3d.as/y3X
  3. Shader "MajorProject/ColorMask"
  4. {
  5. Properties
  6. {
  7. _Albedo("Albedo", 2D) = "white" {}
  8. _Normal("Normal", 2D) = "bump" {}
  9. _Smoothness("Smoothness", 2D) = "black" {}
  10. _Mask("Mask", 2D) = "black" {}
  11. _NewColor("New Color", Color) = (1,1,1,1)
  12. _Multiplier("Multiplier", Range( 0 , 1)) = 0
  13. _RemapMin("Remap Min", Float) = 0
  14. _RemapMax("Remap Max", Float) = 1
  15. [Toggle(_OPACITYMASK_ON)] _OpacityMask("Opacity Mask", Float) = 0
  16. _Cutoff( "Mask Clip Value", Float ) = 0.5
  17. [HideInInspector] _texcoord( "", 2D ) = "white" {}
  18. [HideInInspector] __dirty( "", Int ) = 1
  19. }
  20. SubShader
  21. {
  22. Tags{ "RenderType" = "TransparentCutout" "Queue" = "AlphaTest+0" }
  23. Cull Back
  24. CGPROGRAM
  25. #pragma target 3.5
  26. #pragma shader_feature _OPACITYMASK_ON
  27. #pragma surface surf Standard keepalpha addshadow fullforwardshadows
  28. struct Input
  29. {
  30. float2 uv_texcoord;
  31. };
  32. uniform sampler2D _Normal;
  33. uniform float4 _Normal_ST;
  34. uniform sampler2D _Albedo;
  35. uniform float4 _Albedo_ST;
  36. uniform float4 _NewColor;
  37. uniform sampler2D _Mask;
  38. uniform float4 _Mask_ST;
  39. uniform float _Multiplier;
  40. uniform float _RemapMin;
  41. uniform float _RemapMax;
  42. uniform sampler2D _Smoothness;
  43. uniform float4 _Smoothness_ST;
  44. uniform float _Cutoff = 0.5;
  45. void surf( Input i , inout SurfaceOutputStandard o )
  46. {
  47. float2 uv_Normal = i.uv_texcoord * _Normal_ST.xy + _Normal_ST.zw;
  48. o.Normal = UnpackNormal( tex2D( _Normal, uv_Normal ) );
  49. float2 uv_Albedo = i.uv_texcoord * _Albedo_ST.xy + _Albedo_ST.zw;
  50. float2 uv_Mask = i.uv_texcoord * _Mask_ST.xy + _Mask_ST.zw;
  51. float4 tex2DNode40 = tex2D( _Mask, uv_Mask );
  52. float GreyScale57 = tex2DNode40.g;
  53. float Mask56 = tex2DNode40.r;
  54. float Gradient58 = tex2DNode40.b;
  55. float clampResult49 = clamp( ( Mask56 * ( Gradient58 + (_RemapMin + (_Multiplier - 0.0) * (_RemapMax - _RemapMin) / (1.0 - 0.0)) ) ) , 0.0 , 1.0 );
  56. float4 lerpResult37 = lerp( tex2D( _Albedo, uv_Albedo ) , ( _NewColor * GreyScale57 ) , clampResult49);
  57. o.Albedo = lerpResult37.rgb;
  58. float2 uv_Smoothness = i.uv_texcoord * _Smoothness_ST.xy + _Smoothness_ST.zw;
  59. o.Smoothness = tex2D( _Smoothness, uv_Smoothness ).r;
  60. o.Alpha = 1;
  61. #ifdef _OPACITYMASK_ON
  62. float staticSwitch62 = Mask56;
  63. #else
  64. float staticSwitch62 = 1.0;
  65. #endif
  66. clip( staticSwitch62 - _Cutoff );
  67. }
  68. ENDCG
  69. }
  70. Fallback "Diffuse"
  71. CustomEditor "ASEMaterialInspector"
  72. }
  73. /*ASEBEGIN
  74. Version=16301
  75. -1913;41;1906;904;2697.262;385.5416;1.738442;True;True
  76. Node;AmplifyShaderEditor.SamplerNode;40;-3308.219,121.9752;Float;True;Property;_Mask;Mask;3;0;Create;True;0;0;False;0;None;e7d9151c9febbf644bde373c46578f65;True;0;False;black;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
  77. Node;AmplifyShaderEditor.RangedFloatNode;66;-2319.11,529.9472;Float;False;Property;_RemapMin;Remap Min;6;0;Create;True;0;0;False;0;0;0;0;0;0;1;FLOAT;0
  78. Node;AmplifyShaderEditor.RangedFloatNode;67;-2317.577,621.9814;Float;False;Property;_RemapMax;Remap Max;7;0;Create;True;0;0;False;0;1;1;0;0;0;1;FLOAT;0
  79. Node;AmplifyShaderEditor.RangedFloatNode;17;-2420.317,447.0833;Float;False;Property;_Multiplier;Multiplier;5;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0
  80. Node;AmplifyShaderEditor.RegisterLocalVarNode;58;-2932.687,259.9786;Float;False;Gradient;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
  81. Node;AmplifyShaderEditor.RegisterLocalVarNode;56;-2929.621,75.90977;Float;False;Mask;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
  82. Node;AmplifyShaderEditor.GetLocalVarNode;61;-2093.632,353.5475;Float;False;58;Gradient;1;0;OBJECT;0;False;1;FLOAT;0
  83. Node;AmplifyShaderEditor.TFHCRemapNode;53;-2103.26,450.3091;Float;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;0;False;4;FLOAT;1;False;1;FLOAT;0
  84. Node;AmplifyShaderEditor.SimpleAddOpNode;47;-1852.525,396.3673;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
  85. Node;AmplifyShaderEditor.RegisterLocalVarNode;57;-2932.687,163.3426;Float;False;GreyScale;-1;True;1;0;FLOAT;0;False;1;FLOAT;0
  86. Node;AmplifyShaderEditor.GetLocalVarNode;59;-1927.977,144.9355;Float;False;56;Mask;1;0;OBJECT;0;False;1;FLOAT;0
  87. Node;AmplifyShaderEditor.GetLocalVarNode;60;-1464.73,-192.5235;Float;False;57;GreyScale;1;0;OBJECT;0;False;1;FLOAT;0
  88. Node;AmplifyShaderEditor.ColorNode;23;-1481.814,-381.4917;Float;False;Property;_NewColor;New Color;4;0;Create;True;0;0;False;0;1,1,1,1;1,0,0.5997324,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
  89. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;44;-1654.714,30.30221;Float;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
  90. Node;AmplifyShaderEditor.ClampOpNode;49;-1475.303,6.989078;Float;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
  91. Node;AmplifyShaderEditor.GetLocalVarNode;65;-868.0339,539.1504;Float;False;56;Mask;1;0;OBJECT;0;False;1;FLOAT;0
  92. Node;AmplifyShaderEditor.RangedFloatNode;64;-832.7534,387.294;Float;False;Constant;_White;White;9;0;Create;True;0;0;False;0;1;0;0;0;0;1;FLOAT;0
  93. Node;AmplifyShaderEditor.SamplerNode;1;-896.2167,-467.1677;Float;True;Property;_Albedo;Albedo;0;0;Create;True;0;0;False;0;None;7f1bb6af05d718f48af775047bd04b4f;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
  94. Node;AmplifyShaderEditor.SimpleMultiplyOpNode;38;-1105.531,-227.9056;Float;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0
  95. Node;AmplifyShaderEditor.SamplerNode;2;-540.3304,-42.06005;Float;True;Property;_Normal;Normal;1;0;Create;True;0;0;False;0;None;5553ee8a4e29ebe4db63964308557f7e;True;0;True;bump;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
  96. Node;AmplifyShaderEditor.LerpOp;37;-414.3218,-176.3671;Float;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
  97. Node;AmplifyShaderEditor.SamplerNode;3;-537.3937,163.1603;Float;True;Property;_Smoothness;Smoothness;2;0;Create;True;0;0;False;0;None;71b48a5f1f9284144afd3ecc727acec1;True;0;False;black;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
  98. Node;AmplifyShaderEditor.StaticSwitch;62;-496.8282,433.3114;Float;False;Property;_OpacityMask;Opacity Mask;8;0;Create;True;0;0;False;0;0;0;0;True;;Toggle;2;Key0;Key1;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
  99. Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;12.78892,-25.57785;Float;False;True;3;Float;ASEMaterialInspector;0;0;Standard;MajorProject/ColorMask;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;Masked;0.5;True;True;0;False;TransparentCutout;;AlphaTest;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;;9;-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
  100. WireConnection;58;0;40;3
  101. WireConnection;56;0;40;1
  102. WireConnection;53;0;17;0
  103. WireConnection;53;3;66;0
  104. WireConnection;53;4;67;0
  105. WireConnection;47;0;61;0
  106. WireConnection;47;1;53;0
  107. WireConnection;57;0;40;2
  108. WireConnection;44;0;59;0
  109. WireConnection;44;1;47;0
  110. WireConnection;49;0;44;0
  111. WireConnection;38;0;23;0
  112. WireConnection;38;1;60;0
  113. WireConnection;37;0;1;0
  114. WireConnection;37;1;38;0
  115. WireConnection;37;2;49;0
  116. WireConnection;62;1;64;0
  117. WireConnection;62;0;65;0
  118. WireConnection;0;0;37;0
  119. WireConnection;0;1;2;0
  120. WireConnection;0;4;3;0
  121. WireConnection;0;10;62;0
  122. ASEEND*/
  123. //CHKSM=E703D98EAA5182A09A8F04184916C8E4E717C59A