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 模式,但是今天写不动了~~~

相关推荐
charon87787 小时前
UE ARPG | 虚幻引擎战斗系统
游戏引擎
小春熙子8 小时前
Unity图形学之Shader结构
unity·游戏引擎·技术美术
Sitarrrr10 小时前
【Unity】ScriptableObject的应用和3D物体跟随鼠标移动:鼠标放置物体在场景中
3d·unity
极梦网络无忧10 小时前
Unity中IK动画与布偶死亡动画切换的实现
unity·游戏引擎·lucene
逐·風18 小时前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
_oP_i20 小时前
Unity Addressables 系统处理 WebGL 打包本地资源的一种高效方式
unity·游戏引擎·webgl
代码盗圣1 天前
GODOT 4 不用scons编译cpp扩展的方法
游戏引擎·godot
Leoysq1 天前
【UGUI】实现点击注册按钮跳转游戏场景
游戏·unity·游戏引擎·ugui
PandaQue1 天前
《潜行者2切尔诺贝利之心》游戏引擎介绍
游戏引擎
_oP_i1 天前
unity中 骨骼、纹理和材质关系
unity·游戏引擎·材质