简介:实时灯光计算有两个缺点,一是运算消耗比较大,二是间接光的计算基本没有,效果较差。要想省性能,并且间接光效果好,那就需要用到烘焙了。灯光烘焙的意思就是将灯光效果定死在烘焙的那个状态,这样间接光就可以烘焙的很漂亮。
版本:Unity2019.4.12f1 HDRP 7.5.1
烘焙功能介绍
打开烘焙窗口
从菜单栏 Window->Rendering->LightingSettings 打开烘焙窗口
打开位置窗口介绍
- 烘焙窗口分两个模块,一个是 Scene 模块,我们主要的操作页面,另一个是 BakedLightmaps 页面,主要是显示我们烘焙了灯光贴图的数量与预览。
Scene 模块
烘焙窗口
Environment(HDRP) 我们的环境盒子(天空盒)在这里指定
- StaticLightingSky 静态天空光照来源,Unity有多重天空盒模式,这里就是用来选择一种来产生烘焙时的环境光照的,这里面的选项 根据 Environment(HDRP) 配置文件的内容的变化而变化。
- BakeGlobalIllumination 烘焙全局简介光照,只有开启这个选项,我们才可以将 静态物体 的光效效果烘焙上。
Mixed Lighting 混合光照
- LightingMode 间接光照模式,有三种,分别是 BakedIndirect , Subtractive , Shadowmask,其中Subtractive 在HDRP中已经不支持了
1. BakedIndirect 将mixLight的间接光照烘焙到灯光图上,直接光照还是使用实时光。
2. Shadowmask 在BakedIndirect 的基础上,烘焙了阴影遮罩图。
LightmappingSettings 内容太多,我们放到下个章节来写
- 这个部分主要就是烘焙的参数如何使用,单做一个版本来详细讲解
DebugSettings 调试设置,这一版目前只有灯光探头的显示(辅助功能,没有什么大的用处)
- OnlyProbesUsedBySelection 只显示被选中物体用到的探头
- All Probes No Cells 显示所有探头,但是不显示全部的网格(黄色的连线)
- All Probes with Cells 显示所有的灯光探头,并显示素有的网格
- DisplayWeights 显示影响权重关系
- DisplayOcclusion 显示剔除关系
烘焙执行
执行烘焙命令的位置- AutoGenerate 勾选后,场景一有变化就会进行烘焙,然后导致电脑卡顿,引擎默认是勾选的,我们一般都是取消掉这个
- GenrateLighting 这是一个多功能按钮,其右侧的下拉箭头具有更多的功能,包含 GenrateLighting (烘焙灯光图,这个直接点按钮就可以不用点箭头)然后是箭头内的 BakeReflectionProbes (清除烘焙的反射探头)、Clear Baked Data(清除烘焙数据)
灯光图模块
- 这个模块的主要作用是让我们可以找到烘焙数据文件的存放位置,以及查看我们烘焙好的灯光图信息。
-
官方相关文档
灯光图模块界面 - Lighting Data Asset :后面属性的内容就是我们烘焙的灯光图数据文件,点击这个文件就可以将Project面板的文件预览路径切换到这个文件的路径
- 纹理预览 ,这种图片,看烘焙参数的设置,数量不等。每一个纹理框代表一批模型的灯光图,点击属性框可以预览灯光图相关的不同数据图。点击右下角的 Open Preview 可以打开大的预览窗口。
- 在预览窗口的右上角,有个下拉菜单,可以预览我们一次渲染出来的不同的数据图。
1. Baked Lightmap 烘焙的灯光图 默认显示
2. Baked Directionality 烘焙的朝向图(用于计算烘焙后物体在间接光内的法线细节)
3. Baked Shadowmask 烘焙的阴影遮罩 (烘焙场景面板内要选择模式为 Shadowmask才会有图像数据)
4. Baked Albedo 烘焙的漫反射
5. Baked Emissive 烘焙的自发光
6. Baked UV Charts 烘焙的 uv 簇 (仅做调试用)
7. Baked Texel Validity 在光照贴图烘焙期间,Unity 从每个纹理像素发出光线。如果纹理像素光线的很大一部分照射到背面几何体,则该纹理像素被标记为无效。(仅做调试用)
8. Baked UV Overlap 烘焙用的uv的重叠 (仅做调试用)
9.Baked Lightmap Culling 烘焙用的灯光图的剔除(仅做调试用)
网友评论