- Home /
shader Script "normalbump" Problem
Shader "myshader/DNCSA" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Texture", 2D) = "white" {}
_SpecStr ("SpecStr", Range (0.0,10)) = 0.05
_Shininess ("Shininess", Range (0,1)) = 0.078125
_SpecularMap ("SpecularMap (RGB) SpePixStr(A) ", 2D) = "white" {}
_ReflectionTex ("ReflectionTex (RGB)" , 2D) = "white" {}
_ReflectStr ("ReflectStr", Range (0.01, 4)) = 0.01
//_ReflectColor ("Reflection Color", Color) = (1,1,1,0.5)
_Cube ("Reflection Cubemap", Cube) = "_Skybox" { TexGen CubeReflect }
_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
_SpeColor ("Main Color", Color) = (1,1,1,1)
_Normalmap ( "Normalmap", 2D ) = "normal" {}
}
SubShader {
Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"}
Blend SrcAlpha OneMinusSrcAlpha
//AlphaTest GEqual [_Cutoff]
AlphaTest Greater [_Cutoff]
CGPROGRAM
#pragma surface surf SimpleSpecular
sampler2D _MainTex ;
sampler2D _ReflectionTex ;
sampler2D _SpecularMap ;
samplerCUBE _Cube ;
sampler2D _Normalmap ;
fixed4 _Color;
fixed4 _SpeColor;
//fixed4 _ReflectColor;
half _SpecStr;
half _Shininess;
half _ReflectStr;
half4 LightingSimpleSpecular (SurfaceOutput s, half3 lightDir, half3 viewDir, half atten) {
half3 h = normalize (lightDir + viewDir);
half diff = max (0, dot (s.Normal, lightDir));
//float nh = max (0, dot (s.Normal, h));
//nh = nh * s.Specular ;
//float spec =mnj pow (nh, 48.0);
//spec = spec * s.Specular;
//float nh = s.Specular;
float nh = max (0, dot (s.Normal, h));
float spec = pow (nh, s.Specular*128.0) * s.Gloss;
half4 c;
c.rgb = (s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * _SpeColor.rgb * spec) * (atten * 2);
//c.a = s.Alpha + _LightColor0.a * _SpecColor.a * spec * atten;
c.a = s.Alpha;
return c;
}
struct Input {
float2 uv_MainTex;
float3 worldRefl;
float3 worldNormal;
float2 uv_Normalmap;
INTERNAL_DATA
};
void surf (Input IN, inout SurfaceOutput o) {
fixed4 tex = tex2D(_MainTex, IN.uv_MainTex);
fixed4 specTex = tex2D(_SpecularMap, IN.uv_MainTex);
fixed4 c = tex * _Color;
o.Albedo = c.rgb;
fixed4 reflectionTex = tex2D (_ReflectionTex, IN.uv_MainTex) ;
o.Gloss = specTex.a * _SpecStr; ;
o.Specular = _Shininess ;
_SpeColor.rgb = specTex.rgb ;
fixed4 reflcol = texCUBE (_Cube, IN.worldRefl);
o.Emission = reflcol.rgb * reflectionTex.rgb * _ReflectStr;
o.Alpha = tex.a * _Color.a;
o.Normal = UnpackNormal( tex2D( _Normalmap, IN.uv_Normalmap ) );
}
ENDCG
}
Fallback "Diffuse"
}
"normalbump"there is a problem
Solve is that possible? Please help me
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613093457im_/https://answers.unity.com/themes/thub/images/avi.jpg)