Unity | Shader基础知识(番外:了解内置Shader-Standard<二>)

目录

前言

一、Standard参数详解

1.NormalMap法线贴图

2.HeightMap高度贴图

3.Occlusion遮挡贴图

4.DetailMask细节遮挡

5.Emission自发光

6.Tiling铺地砖和Offset偏移度

二、作者的碎碎念


前言

Unity | Shader基础知识(番外:了解内置Shader-Standard<一>)-CSDN博客

书接上回,我们继续讲。

一、Standard参数详解

1.NormalMap法线贴图

图1 法线贴图

这个真的不能再讲了,详情跳转到法线系列。

Unity | Shader基础知识(第十一集:什么是Normal Map法线贴图)_法线贴图格式-CSDN博客

2.HeightMap高度贴图

如果你把法线贴图看懂了,你乍一看高度贴图,你会觉得,这不一样吗?

答:3D效果除了光的明暗能影响以外,人的眼睛看东西还有一个特色,就是近大远小

所以,法线贴图定义了高低以后,就意味图片中有的离我们近,有的离我们远

如果我们把近的东西凸出去,会把远的东西挡住。 处理这部分效果的就是高度贴图。

这里有一个墙:

(1).我们先放上Albedo贴图。(如图2所示)
图2 Albedo贴图

(2).我们加上NormalMap法线贴图(如图3所示)
图3 NormalMap法线贴图

是不是变得有点立体了!~

(3).我们再加上HeightMap高度贴图(如图4所示注意看红色部分,有了凹凸变形+遮挡)
图4 HeightMap高度贴图

但因为这个比较消耗性能,所以很多时候我们就用到法线贴图就截止了。

3.Occlusion遮挡贴图

虽然法线贴图已经对光线进行处理了,但一些比较细小或者复杂的,比如缝隙,非常多折叠之类的地方,处理的会不到位,这个就可以在细节上再处理一遍。
图5 Occlusion遮挡贴图

如图6所示,因为有衣服,所以箭头指的方向应该有被衣服遮挡的阴影,但图中没有。
图6 人像图

加上遮挡贴图后,这些位置就暗了,有了遮挡的效果。(如图7所示)
图7 有遮挡贴图的人像

4.DetailMask细节遮挡

在讲这个之前,我们先看一下,下面还有一堆东西,我叫它二次贴图。(如图8所示)
图8 二次贴图 有时候我们游戏里只展现一部分。

**例:**一个人,我们远看可以看到全身,近看可能只看见脸,不让你看见其他地方,这时候,就需要贴图做一些更为细节的部分,比如毛孔、汗毛、美人痣等等。

这时候我们就想在原本的贴图上,再叠加一层,就把这部分贴图放在这里,同样也可以加法线贴图和调节其他参数。

但是 ,如果贴图所有部分都做的很精细,所有都显示,那就很浪费性能,所以,我们选择,哪里显示这些细节,哪里不显示,就用到了DetailMask细节遮罩。(如图9所示)
图9 DetailMask细节遮罩

5.Emission自发光

场景中有些东西是会自己发光的,比如,手机屏幕、电视屏幕、萤火虫、灯泡等等......
图10 Emission自发光

可以贴图+颜色自发光(如图10所示),其实这个没太多好讲的,略过了。

备注:

自发光里面有个选项Global llumination(翻译:全球照明,如图11所示),这里是因为,你是自发光,所以就成了光源的一部分,那你这个光源归属于谁,是实时光照Realtime,还是烘焙光照Baked,还是就自己发光,不影响别人None。
图11 Global lllumination

6.Tiling铺地砖和Offset偏移度

(如图12所示)
图12 Tiling铺地砖和Offset偏移度

up觉得下面这个链接讲的挺好的,up就不重新讲了。

Material的Tilling跟Offset_maintex tilling offset-CSDN博客

二、作者的碎碎念

到此为止,标准的shader基本都讲完了,哪里没讲到的大家在评论区告诉我哦。

估计等两天我会在这篇文章里加入Specular 模式,但是今天写不动了~~~

相关推荐
异次元的归来1 小时前
Unity DOTS中的share component
unity·游戏引擎
向宇it4 小时前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
_oP_i5 小时前
unity webgl部署到iis报错
unity
Go_Accepted5 小时前
Unity全局雾效
unity
向宇it6 小时前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
每日出拳老爷子8 小时前
【图形渲染】【Unity Shader】【Nvidia CG】有用的参考资料链接
unity·游戏引擎·图形渲染
北海65169 小时前
Dots 常用操作
unity
YY-nb17 小时前
Unity Apple Vision Pro 开发教程:物体识别跟踪
unity·游戏引擎·apple vision pro
Cool-浩17 小时前
Unity 开发Apple Vision Pro物体识别追踪ObjectTracking
unity·ar·apple vision pro·mr·物体识别·vision pro教程·objecttracking
向宇it1 天前
【从零开始入门unity游戏开发之——C#篇23】C#面向对象继承——`as`类型转化和`is`类型检查、向上转型和向下转型、里氏替换原则(LSP)
java·开发语言·unity·c#·游戏引擎·里氏替换原则