Shader "NormalTex"
{
Properties
{
_MainTex("MainTex", 2D) = "white" {}
_NormalTex("NormalTex", 2D) = "" {}
}
SubShader
{
Tags
{
"RenderType" = "Opaque"
}
LOD 200
CGPROGRAM
#pragma surface surf Lambert
sampler2D _MainTex;
sampler2D _NormalTex;
struct Input
{
float2 uv_MainTex;
float2 uv_NormalTex;
};
void surf(Input IN, inout SurfaceOutput o)
{
float4 c = tex2D(_MainTex, IN.uv_MainTex);
float3 normalMap = UnpackNormal(tex2D(_NormalTex, IN.uv_NormalTex));
o.Normal = normalMap.rgb;
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
}
使用纹理制作特效 - 法线贴图
最新推荐文章于 2025-09-01 16:34:48 发布
本文介绍了一个Unity Shader案例,展示了如何使用Shader实现带有法线贴图的纹理效果。通过定义属性_MainTex和_NormalTex,该Shader可以加载基础纹理和法线贴图,并在SubShader中通过CGPROGRAM将这些纹理应用到模型上。
857

被折叠的 条评论
为什么被折叠?



