| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- Shader "Custom/StandardDoubleSided"
- {
- Properties
- {
- _Color("Color", Color) = (1,1,1,1)
- _MainTex("Albedo", 2D) = "white" {}
- _Cutoff("Alpha Cutoff", Range(0.0,1.0)) = 0.5
- _Glossiness("Smoothness", Range(0.0,1.0)) = 0.5
- _Metallic("Metallic", Range(0.0,1.0)) = 0.0
- _MetallicGlossMap("Metallic", 2D) = "white" {}
- _BumpScale("Scale", Float) = 1.0
- _BumpMap("Normal Map", 2D) = "bump" {}
- _EmissionColor("Color", Color) = (0,0,0)
- _EmissionMap("Emission", 2D) = "white" {}
- _DetailMask("Detail Mask", 2D) = "white" {}
- _DetailAlbedoMap("Detail Albedo", 2D) = "grey" {}
- _DetailNormalMapScale("Scale", Float) = 1.0
- _DetailNormalMap("Normal Map", 2D) = "bump" {}
- }
- SubShader
- {
- Tags { "RenderType" = "Opaque" }
- LOD 300
- // ✅ 关键:关闭背面剔除
- Cull Off
- CGPROGRAM
- #pragma surface surf Standard fullforwardshadows
- #pragma target 3.0
- sampler2D _MainTex;
- fixed4 _Color;
- half _Glossiness;
- half _Metallic;
- sampler2D _MetallicGlossMap;
- sampler2D _BumpMap;
- sampler2D _EmissionMap;
- fixed4 _EmissionColor;
- struct Input
- {
- float2 uv_MainTex;
- float2 uv_BumpMap;
- float2 uv_MetallicGlossMap;
- float2 uv_EmissionMap;
- };
- void surf(Input IN, inout SurfaceOutputStandard o)
- {
- fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
- o.Albedo = c.rgb;
- o.Metallic = _Metallic;
- o.Smoothness = _Glossiness;
- o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));
- o.Emission = tex2D(_EmissionMap, IN.uv_EmissionMap).rgb * _EmissionColor.rgb;
- o.Alpha = c.a;
- }
- ENDCG
- }
- FallBack "Diffuse"
- }
|