ULitShadow.shader 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. Shader "Unlit/ULitShadow"
  2. {
  3. Properties
  4. {
  5. _MainTex ("Texture", 2D) = "white" {}
  6. }
  7. SubShader
  8. {
  9. Tags {"Queue"= "Geometry" "RenderType"="Opaque" }
  10. Pass
  11. {
  12. CGPROGRAM
  13. #pragma vertex vert
  14. #pragma fragment frag
  15. #include "UnityCG.cginc"
  16. #include "Lighting.cginc"
  17. #include "AutoLight.cginc"
  18. struct appdata
  19. {
  20. float4 vertex : POSITION;
  21. float2 uv : TEXCOORD0;
  22. };
  23. struct v2f
  24. {
  25. float2 uv : TEXCOORD0;
  26. float3 worldPos: TEXCOORD1;
  27. SHADOW_COORDS(2)
  28. float4 vertex : SV_POSITION;
  29. };
  30. sampler2D _MainTex;
  31. float4 _MainTex_ST;
  32. v2f vert (appdata v)
  33. {
  34. v2f o;
  35. o.vertex = UnityObjectToClipPos(v.vertex);
  36. o.worldPos = mul(unity_ObjectToWorld,float4(v.vertex.xyz,1)).xyz;
  37. TRANSFER_SHADOW(o);
  38. o.uv = TRANSFORM_TEX(v.uv, _MainTex);
  39. return o;
  40. }
  41. fixed4 frag (v2f i) : SV_Target
  42. {
  43. fixed4 col = tex2D(_MainTex, i.uv);
  44. UNITY_LIGHT_ATTENUATION(myatten,i,i.worldPos);
  45. col.rgb *= myatten;
  46. return col;
  47. }
  48. ENDCG
  49. }
  50. }
  51. }