源战役客户端
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

49 wiersze
1.3 KiB

1 miesiąc temu
  1. // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
  2. Shader "Unlit/AlphaTexture"
  3. {
  4. Properties{
  5. _MainTex("Base (RGB)", 2D) = "white" {}
  6. _Color("Color",Color) = (1,1,1,1)
  7. }
  8. SubShader{
  9. Tags{ "RenderType" = "Queue" "Queue" = "Transparent" } // "Queue"="Transparent"将其设置为透明,不然无法看见后面的东西(即使透明)
  10. Blend SrcAlpha OneMinusSrcAlpha //实现Alpha的核心,使用语句进行Alpha混合
  11. Pass{
  12. CGPROGRAM
  13. #pragma vertex vert
  14. #pragma fragment frag
  15. #include "UnityCG.cginc"
  16. sampler2D _MainTex;
  17. float4 _Color;
  18. struct v2f {
  19. float4 pos : POSITION;
  20. float2 uv : TEXCOORD0;
  21. //float3 color : TEXCOORD1;
  22. };
  23. v2f vert(appdata_base v) {
  24. v2f o;
  25. o.pos = UnityObjectToClipPos(v.vertex);
  26. //TRANSFORM_TEX是在_MainTex_ST中的宏
  27. //原始方法o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
  28. //将uv贴图的坐标取出来
  29. o.uv = v.texcoord;
  30. //o.color = ShadeVertexLights(v.vertex, v.normal);取得法线贴图的光照
  31. return o;
  32. }
  33. float4 frag(v2f i) : COLOR{
  34. half4 c = tex2D(_MainTex, i.uv);
  35. //在这个位置接收i.color的话可以接收光照
  36. c.rgb = c.rgb * _Color;
  37. return c*_Color;
  38. }
  39. ENDCG
  40. }
  41. }
  42. }