UIShader.shader 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. Shader "Custom/UIShader"
  2. {
  3. Properties
  4. {
  5. _Color("Tint", Color) = (1,1,1,1)
  6. _MainTex("AlphaTex", 2D) = "white" {}
  7. }
  8. SubShader
  9. {
  10. Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
  11. Blend SrcAlpha OneMinusSrcAlpha
  12. Cull Off ZWrite Off
  13. Lighting Off
  14. Pass
  15. {
  16. CGPROGRAM
  17. #pragma vertex vert
  18. #pragma fragment frag
  19. #include "UnityCG.cginc"
  20. sampler2D _MainTex;
  21. fixed4 _Color;
  22. struct appdata
  23. {
  24. float4 vertex : POSITION;
  25. float2 uv : TEXCOORD0;
  26. };
  27. struct v2f
  28. {
  29. float4 vertex : SV_POSITION;
  30. float2 uv : TEXCOORD0;
  31. };
  32. v2f vert(appdata v)
  33. {
  34. v2f o;
  35. o.vertex = UnityObjectToClipPos(v.vertex);
  36. o.uv = v.uv;
  37. return o;
  38. }
  39. fixed4 frag(v2f i) : SV_Target
  40. {
  41. fixed4 tex = tex2D(_MainTex, i.uv);
  42. return fixed4(_Color.rgb, tex.a * _Color.a); // 只用透明度
  43. }
  44. ENDCG
  45. }
  46. }
  47. }