[Unity]Enlighten概述

2020/01 09 16:01

Unity 为 precomputing global illumination (预计算GI) 和 bounced lighting(反射光照)提供了两种不同的技术:Baked Global Illumination(烘焙GI)Precomputed Realtime Global Illumination(预计算实时GI)。Enlighten 光照系统为这两种技术都提供了解决方案。

通过 Unity 顶部的 Window > Lighting 来打开下图设置。

属性作用
Realtime Global Illumination(实时全局光照)使 Unity 实时计算和更新光照。想了解更多信息,请看 Realtime Global Illumination 一节,以及 Unity 教程 Precomputed Realtime GI(预计算实时GI)
Lighting Mode(光照模式)指定场景中的混合灯光使用哪种光照模式。选项有: Baked Indirect(烘焙间接光)Distance Shadowmask(距离阴影遮罩)Shadowmask(阴影遮罩),和 Subtractive(删减模式)
Lightmapper(光照贴图)指定使用哪种内置的光照计算软件来计算场景中的光照贴图。选项有:Progressive(渐进式)Enlighten。默认模式是Progressive(渐进式);将该属性设置为 Enlighten 就可以使用本节中描述的系统。如果你想使用 Progressive(渐进式)系统,请看 Progressive Lightmapper 一节。
Indirect Resolution(间接光分辨率)该属性只有当 Realtime Global Illumination(实时全局光照)选项开启后才可使用。使用该属性来指定间接光计算中每单位(unit)的纹理元素(texels )数。增加该数值将提高间接灯光的视觉质量,但是同时也增加了烘焙光照贴图的时间。默认值是2。想要了解关于间接光分辨率的细节,请看 Realtime Resolution 一节。
Lightmap Resolution(光照贴图分辨率)指定光照贴图中每单位(unit)的纹理元素(texels )数。增加该数值将提高光照贴图质量,但是同时也会增加烘焙次数。默认数值是40。
Lightmap Padding(光照贴图间隔)指定烘焙过的光照贴图中分隔的形状之间的间隔(每单位纹素数)。默认值是2。值越大越精确,但是过大可能会造成空间不够:选中一个MeshRender,然后ScaleInLightmap上,可能会提示(Object’s size in lightmap has reached the max atlas size)
Lightmap Size(光照贴图尺寸)完整光照贴图纹理的尺寸(单位:像素),合并了各个对象纹理的分隔区域。默认值是1024。
Compress Lightmaps(压缩光照贴图)压缩光照贴图,于是只需要更少的存储空间。然而,压缩处理会在纹理上产生不想要的视觉效果。该属性默认被勾选。
Ambient Occlusion(环境光遮蔽)打开一组设置,让你能够控制环境光遮蔽中的相对表面亮度。较高的值表示被遮挡的区域和完全被照亮的区域之间有较大的对比。这只适用于由GI系统计算的间接照明。此属性默认被勾选。
Max Distance(最大距离)设置一个数值来控制光照系统投射光线的距离,以决定是否对物体使用遮蔽。
Indirect Contribution(间接光贡献)使用滑动条来调节最终光照贴图中间接光(比如:环境光,或者反射光、来自自发光物体的灯光)的亮度。范围是0到10,默认值是1。数值小于1将减少亮度,数值大于1将增加亮度。
Direct Contribution(直接光贡献)使用滑动条来调节直接光的亮度。范围是0到10,默认值是0。数值越大,应用于直接光照的对比越高。
Final Gather(最终收集器)开启该选项,Unity 将在 GI 计算中以烘焙光照贴图的分辨率计算最终的灯光反射。这将提升光照贴图的视觉质量,但是会增加额外的烘焙时间。
Ray Count(射线数量)定义发射自每个 Final Gather(最终收集器)的射线数量,默认值是 256。
Denoising(去噪)Final Gather(最终收集器)的输出施加一个去噪过滤。该属性默认被勾选。
Directional Mode(平行模式)你能够设置光照贴图,来存储关于游戏对象的表面上的每一点的主要接收光的信息。更多细节请看 Directional Lightmapping 一节。默认模式是 Directional
Directional(平行)在该模式下,Unity 生成一张二级(次级)光照贴图来存储接收光的主要方向。该模式允许使用漫反射法线贴图材质,以能够与GI系统一起工作。为了获取额外的光照贴图数据,该模式需要大约两倍的存储空间。Unity 不能在 SM2.0 的硬件上或者使用了 GLES2.0 时解码,此时会退回到 non-directional(非平行)光照贴图模式。
Non-directional(非平行)在该模式下,Unity 不会生成一张二级(次级)光照贴图,取而代之的是将所有光照信息存储到相同的空间中。
Indirect Intensity(间接光强度)控制 Unity 存储在 real-time(实时)和 baked(烘焙)光照贴图中的间接光的亮度,范围是0到5。数值大于1将增加间接光的亮度,数值小于1将减少间接光的亮度。默认值是1。
Albedo Boost(反照率增强)通过增强场景中材质的反照率,来控制表面之间反射光的数量,范围是1到10。增加该值后,在计算间接光照时,反照率值将趋近与白色。默认值是1,是标准的物理性质。
Lightmap Parameters(光照贴图参数)Unity 使用了一系列综合参数用于光照贴图,而不仅仅是 Lighting 窗口中的属性。该属性中预设了一些可用的默认配置,当然你也可以使用 Create New 选项来创建你自己的光照贴图参数文件。默认选项是 Default-Medium

如果模型导入时没有勾选“Generate Lightmap UVS”,则会报警:
This Gameobject Has overlapping UVS (复用了第1套UV?),please enable ‘ Generate Lightmap UVS ‘ on the Asset or fix in you modelling package.

如果不勾2UV,则烘焙出来可能是这个样子的