首页 >> 大全

Shader山下(四)法线贴图

2023-07-01 大全 51 作者:考证青年

法线向量表示某个点上垂直于该点的向量,而法线贴图( Map)就是保存这些法线的贴图。实际应用中,经常使用法线贴图为低模添加细节。

_山水纹大理石贴图_玄空申山寅向七运埃星下挂图

上图来源于百度百科法线贴图。

本文就介绍一下,怎样使用来添加法线贴图。

首先依旧是最简单的漫反射

Shader "Custom/NormalMap" {Properties {_MainTex ("Albedo (RGB)", 2D) = "white" {}}SubShader {Tags { "RenderType"="Opaque"}LOD 200CGPROGRAM#pragma surface surf Lambertsampler2D _MainTex;struct Input {float2 uv_MainTex;};void surf (Input IN, inout SurfaceOutput o) {fixed2 texUV = IN.uv_MainTex;fixed4 c = tex2D (_MainTex, texUV);o.Albedo = c.rgb;o.Alpha = c.a;}ENDCG}FallBack "Diffuse"
}

在里添加:

_NormalMap ("Normal Map", 2D) = "white" {}

并在的 之后,surf方法之前添加:

sampler2D _NormalMap;

这样我们就可以在编辑器里看到多了一个 Map的选项了。

在Input结构里添加:

half2 uv_NormalMap;

这样我们就可以在surf方法里调用法线贴图的纹理坐标了。

修改surf方法:

		void surf (Input IN, inout SurfaceOutput o) {fixed4 c = tex2D (_MainTex, IN.uv_MainTex);o.Albedo = c.rgb;o.Alpha = c.a;fixed3 n = UnpackNormal(tex2D (_NormalMap, IN.uv_NormalMap));o.Normal = n;}

导入下面这张图片:

_玄空申山寅向七运埃星下挂图_山水纹大理石贴图

或者自己找一个也没关系,记得 Type设置为 Map。(注:因为法线一般都偏向z轴方向,所以法线贴图一般偏蓝色)

为使用本文的材质设置 Map,并把它应用在场景对象上,我们就可以看到:

山水纹大理石贴图_玄空申山寅向七运埃星下挂图_

添加主贴图后的效果:

玄空申山寅向七运埃星下挂图_山水纹大理石贴图_

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了