Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 

207 строки
4.8 KiB

  1. Shader "Unlit/Transparent Greyscale"
  2. {
  3. Properties
  4. {
  5. _MainTex ("Base (RGB), Alpha (A)", 2D) = "black" {}
  6. }
  7. SubShader
  8. {
  9. Tags
  10. {
  11. "IGNOREPROJECTOR" = "true"
  12. "QUEUE" = "Transparent"
  13. "RenderType" = "Transparent"
  14. }
  15. LOD 200
  16. Pass // ind: 1, name:
  17. {
  18. Tags
  19. {
  20. "IGNOREPROJECTOR" = "true"
  21. "QUEUE" = "Transparent"
  22. "RenderType" = "Transparent"
  23. }
  24. LOD 200
  25. ZWrite Off
  26. Cull Off
  27. Offset -1, -1
  28. Fog
  29. {
  30. Mode Off
  31. }
  32. Blend SrcAlpha OneMinusSrcAlpha
  33. ColorMask RGB
  34. // m_ProgramMask = 6
  35. CGPROGRAM
  36. //#pragma target 4.0
  37. #pragma vertex vert
  38. #pragma fragment frag
  39. #include "UnityCG.cginc"
  40. #define CODE_BLOCK_VERTEX
  41. //uniform float4x4 unity_ObjectToWorld;
  42. //uniform float4x4 unity_MatrixVP;
  43. uniform float4 _MainTex_ST;
  44. uniform sampler2D _MainTex;
  45. struct appdata_t
  46. {
  47. float4 vertex :POSITION;
  48. float4 texcoord :TEXCOORD0;
  49. };
  50. struct OUT_Data_Vert
  51. {
  52. float2 xlv_TEXCOORD0 :TEXCOORD0;
  53. float2 xlv_TEXCOORD1 :TEXCOORD1;
  54. float4 vertex :SV_POSITION;
  55. };
  56. struct v2f
  57. {
  58. float2 xlv_TEXCOORD0 :TEXCOORD0;
  59. };
  60. struct OUT_Data_Frag
  61. {
  62. float4 color :SV_Target0;
  63. };
  64. OUT_Data_Vert vert(appdata_t in_v)
  65. {
  66. OUT_Data_Vert out_v;
  67. float4 tmpvar_1;
  68. tmpvar_1.w = 1;
  69. tmpvar_1.xyz = in_v.vertex.xyz;
  70. out_v.vertex = mul(unity_MatrixVP, mul(unity_ObjectToWorld, tmpvar_1));
  71. out_v.xlv_TEXCOORD0 = in_v.texcoord.xy;
  72. out_v.xlv_TEXCOORD1 = TRANSFORM_TEX(in_v.vertex.xy, _MainTex);
  73. return out_v;
  74. }
  75. #define CODE_BLOCK_FRAGMENT
  76. OUT_Data_Frag frag(v2f in_f)
  77. {
  78. OUT_Data_Frag out_f;
  79. float grey_1;
  80. float4 col_2;
  81. float4 tmpvar_3;
  82. tmpvar_3 = tex2D(_MainTex, in_f.xlv_TEXCOORD0);
  83. col_2 = tmpvar_3;
  84. float tmpvar_4;
  85. tmpvar_4 = (((col_2.x + col_2.z) + col_2.z) / 3);
  86. grey_1 = tmpvar_4;
  87. col_2.z = grey_1;
  88. col_2.y = grey_1;
  89. col_2.x = grey_1;
  90. out_f.color = col_2;
  91. return out_f;
  92. }
  93. ENDCG
  94. } // end phase
  95. }
  96. SubShader
  97. {
  98. Tags
  99. {
  100. "IGNOREPROJECTOR" = "true"
  101. "QUEUE" = "Transparent"
  102. "RenderType" = "Transparent"
  103. }
  104. LOD 100
  105. Pass // ind: 1, name:
  106. {
  107. Tags
  108. {
  109. "IGNOREPROJECTOR" = "true"
  110. "QUEUE" = "Transparent"
  111. "RenderType" = "Transparent"
  112. }
  113. LOD 100
  114. ZWrite Off
  115. Cull Off
  116. Fog
  117. {
  118. Mode Off
  119. }
  120. Blend SrcAlpha OneMinusSrcAlpha
  121. ColorMask RGB
  122. // m_ProgramMask = 6
  123. CGPROGRAM
  124. //#pragma target 4.0
  125. #pragma vertex vert
  126. #pragma fragment frag
  127. #include "UnityCG.cginc"
  128. #define CODE_BLOCK_VERTEX
  129. //uniform float4x4 unity_ObjectToWorld;
  130. //uniform float4x4 unity_MatrixVP;
  131. uniform float4 _MainTex_ST;
  132. uniform sampler2D _MainTex;
  133. struct appdata_t
  134. {
  135. float4 vertex :POSITION;
  136. float4 color :COLOR;
  137. float4 texcoord :TEXCOORD0;
  138. };
  139. struct OUT_Data_Vert
  140. {
  141. float4 xlv_COLOR0 :COLOR0;
  142. float2 xlv_TEXCOORD0 :TEXCOORD0;
  143. float4 vertex :SV_POSITION;
  144. };
  145. struct v2f
  146. {
  147. float4 xlv_COLOR0 :COLOR0;
  148. float2 xlv_TEXCOORD0 :TEXCOORD0;
  149. };
  150. struct OUT_Data_Frag
  151. {
  152. float4 color :SV_Target0;
  153. };
  154. OUT_Data_Vert vert(appdata_t in_v)
  155. {
  156. OUT_Data_Vert out_v;
  157. float4 tmpvar_1;
  158. float4 tmpvar_2;
  159. tmpvar_2 = clamp(in_v.color, 0, 1);
  160. tmpvar_1 = tmpvar_2;
  161. float4 tmpvar_3;
  162. tmpvar_3.w = 1;
  163. tmpvar_3.xyz = in_v.vertex.xyz;
  164. out_v.xlv_COLOR0 = tmpvar_1;
  165. out_v.xlv_TEXCOORD0 = TRANSFORM_TEX(in_v.texcoord.xy, _MainTex);
  166. out_v.vertex = mul(unity_MatrixVP, mul(unity_ObjectToWorld, tmpvar_3));
  167. return out_v;
  168. }
  169. #define CODE_BLOCK_FRAGMENT
  170. OUT_Data_Frag frag(v2f in_f)
  171. {
  172. OUT_Data_Frag out_f;
  173. float4 tmpvar_1;
  174. tmpvar_1 = (tex2D(_MainTex, in_f.xlv_TEXCOORD0) * in_f.xlv_COLOR0);
  175. out_f.color = tmpvar_1;
  176. return out_f;
  177. }
  178. ENDCG
  179. } // end phase
  180. }
  181. FallBack Off
  182. }