Shader "Custom/URP_prueba" { Properties { _Color ("Main Color", Color) = (1,1,1,1) _SpecColor ("Spec Color", Color) = (1,1,1,0) _Emission ("Emissive Color", Color) = (0,0,0,0) _Shininess ("Shininess", Range (0.1, 1)) = 0.7 _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} } SubShader { Tags {"RenderType"="Transparent" "Queue"="Transparent"} LOD 200 Pass { Name "FORWARD" ZWrite Off Blend SrcAlpha OneMinusSrcAlpha ColorMask RGB HLSLPROGRAM #pragma vertex vert #pragma fragment frag #pragma multi_compile_fog #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" struct Attributes { float4 positionOS : POSITION; float2 uv : TEXCOORD0; }; struct Varyings { float4 positionHCS : SV_POSITION; float2 uv : TEXCOORD0; float fogFactor : TEXCOORD1; }; CBUFFER_START(UnityPerMaterial) float4 _Color; float4 _SpecColor; float4 _Emission; float _Shininess; CBUFFER_END TEXTURE2D(_MainTex); SAMPLER(sampler_MainTex); Varyings vert(Attributes IN) { Varyings OUT; OUT.positionHCS = TransformObjectToHClip(IN.positionOS.xyz); OUT.uv = IN.uv; OUT.fogFactor = ComputeFogFactor(OUT.positionHCS.z / OUT.positionHCS.w); return OUT; } float4 frag(Varyings IN) : SV_Target { float4 albedo = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, IN.uv) * _Color; float3 emission = _Emission.rgb; float3 specular = _SpecColor.rgb * _Shininess; float3 color = albedo.rgb + emission + specular; float alpha = albedo.a; color = MixFog(color, IN.fogFactor); return float4(color, alpha); } ENDHLSL } } }