【Unity3D技术文档翻译】第3.6.3篇 光照贴图参数(Lightmap Parameters)

【Unity3D技术文档翻译】第3.6.3篇 光照贴图参数(Lightmap Parameters)_第1张图片
Unity3D技术文档翻译

上一章:【Unity3D技术文档翻译】第3.6.2.4篇 自定义光衰减(Custom fall-off)

本章原文所在章节:【Unity Manual】→【Graphics】→【Graphics Overview】→【Lighting】→【Global Illumination】→【Lightmap Parameters】

光照贴图参数

一个光照贴图参数资源(Lightmap Parameters Asset)储存了一系列控制 Unity 全局光照(GI)特性的参数值。这些资源允许你定义和存储有关光照的不同设置,用于不同的状况。

为了创建一个新的光照贴图参数资源,右击 Project window,并导航至 Create > New Parameters Asset。Unity 在你的项目文件夹中存储该资源。

【Unity3D技术文档翻译】第3.6.3篇 光照贴图参数(Lightmap Parameters)_第2张图片
新建的光照贴图参数资源默认名是 New LightmapParameters,出现在 Project window 中

光照贴图参数资源允许你为不同类型的游戏对象、不同的平台,以及不同的场景类型(比如:室内或室外场景)创建具有针对性优化的预设。

当你选中 Project window 中的一个光照贴图参数资源,检查器窗口将展示定义在该资源中的参数。参数和相关描述列在了下表中。

【Unity3D技术文档翻译】第3.6.3篇 光照贴图参数(Lightmap Parameters)_第3张图片

预计算实时GI(Precomputed Realtime GI)

属性 作用
Resolution(分辨率) 该属性将按比例改变 Lighting Window (Window > Lighting > Scene)中 Scene 标签页中的 Realtime Resolution 值,最终得出光照贴图中每单位(unit)纹素数的分辨率。
Cluster Resolution(聚集器分辨率) 作用于最终光照贴图分辨率的聚集器分辨率(光在内部反射时的分辨率)的比例。想了解更多信息,请查看 GI Visualizations in the Scene view 一节。
Irradiance Budget(辐射度预算) 该属性值决定了用于光照贴图中每纹素灯光所接收光数据的精度。从纹素的位置对场景采样的一个视图获取了每纹素的光照。较低的辐射度预算值会产生更模糊的采样。较高的值将增加采样的清晰度。较高的辐射度预算值能够提升光照效果,但是也会增加运行时的内存占用和可能增加的 CPU 使用。
Irradiance Quality(辐射度质量) 使用滑动条定义射线的数量,并用于计算哪个聚集器将影响输出光照贴图的纹素。较高的值将提升光照贴图的视觉效果,但是也将增加 Unity 编辑器的预计算时间。该属性值不会影响运行时性能。
Modelling Tolerance(模型公差) 该值控制了允许光线穿过的网格模型的最小缝隙尺寸。该值越小,光线就能穿过更小的缝隙。
Edge Stitching(边缘接缝) 如果开启该属性,光照贴图中的 UV 图表将被无缝地聚集在一起,避免不想要的人造视觉效果。
Is Transparent(是否透明) 如果开启该属性,物体在 GI 计算期间将变得透明。背面不会加入这些计算,并且光线将穿过表面。这对于不可见的自发光表面很有用。
System Tag 那些光照贴图纹理(lightmap Textures)被合并进相同光照贴图图集(lightmap atlas)的一组对象,被称为一个“System”。如果所有对象无法被装进单个图集,Unity 编辑器将自动定义额外的系统及相关的图集(原理和纹理图集类似)。当然,有时候定义你自己的系统会很有用(例如,想要确保不同房间内的对象被分组为一个系统)。改变 System Tag 数值来强制生成新的系统及其光照贴图。具体用什么数值以及顺序用作 tag 并不重要。

烘焙 GI(Baked GI)

属性 作用
Enlighten Progressive Lightmapper
Blur Radius(模糊半径) 在对纹素(texels)的后期处理期间,应用于直接光照的模糊过滤器的半径。半径本质上是被平均处理的相邻纹素的距离。较大的半径生成更模糊的效果。模糊等级越高,就越能减少视觉上的人工效果,但是同时也会柔化阴影边缘。 不可用
Anti-aliasing Samples(抗锯齿采样) 抗锯齿等级,减少块状的人工效果。更高的数值将增加质量和烘焙时间。 对一个纹素进行超采样(supersample)的次数,以减少锯齿。[1,3]采样数会关闭超采样;[4,8]采样数将产生 2x 超采样;[9,256]采样数将产生 4x 超采样。这主要影响的是用于位置与法线缓存的内存占用(2x 占用了4倍内存空间,4x 占用16倍内存空间)。
Direct Light Quality(直接光照质量) 用于估值直接光照的射线数。更高的射线数将生成更精确地软阴影,但是也将增加烘焙时间。 不可用
Backface Tolerance(反面阈值) 网格的结构有时会出现某些纹素展现了包含反面几何体的视觉效果。来自反面的光照在任何场景中都是没有意义的。基于此,该属性使你能够选择一个百分比光照阈值,以确保只有来自正面几何体的纹素被判定为有效。而无效的纹素将从相邻纹素获取近似值。该属性值越低,就越不会出现来自反面光照的问题。 一个纹素发射的射线中照射到正面的百分比,基于此决定该纹素是否被判定为有效。如果一个纹素发射的射线中有许多照射到了反面(几何体内部纹素),该纹素将被视为无效。在这种情况下,人工效果就可以通过从周围纹素获取值来避免。例如,如果阈值是0,那么只有当该纹素除了反面什么都看不到时才会被认定为无效(即:哪怕只要有一条光线照射到了正面,该纹素就是有效的,因此很容易出问题);如果阈值是1,那么只要有一条光线照射到了反面,该纹素就会被认定为无效(这么做会避免问题发生,但是视觉效果可能会不准确)。在场景视图中使用 Baked Texel Validity 模式就能看到有效(绿色)和无效(红色)纹素。如果你使用的是一张单面网格,你可能会想关闭该属性(设置为0)。稍后将在编辑器中添加一个双面标志来解决这个问题。
Baked Tag 和上面的 System Tag 属性类似。如果你正在使用 multi-scene bake API,就不用设置该属性值,因为分组会被自动处理。下面的 Baked Tags: Details 提供了更多信息。 同左
Pushoff 在模型单元开始追踪路径之前,从几何体表面推开一段距离。该属性被应用于所有的烘焙光照贴图,因此会影响直接光照、间接光照和 AO。该属性对解决不想要的 AO 或者阴影很有效。有时物体表面会投影自身,导致表面出现斑点阴影花纹,尽管并没有明显的阴影源,使用该属性能够解决该问题。你还能够使用该属性移除巨大物体上不想要的人工效果,这是由于浮点精度不够而无法准确追踪射线细节导致的。 在模型单元中,从几何体沿法线方向推开射线原点的距离。具体作用同左。

Baked Tags: Details

【Unity3D技术文档翻译】第3.6.3篇 光照贴图参数(Lightmap Parameters)_第4张图片

上图展现了相同场景的两种视图:

  1. 左边:所有内容都在同一张图集中,因为所有游戏对象具有相同的 Baked Tag
  2. 右边:有一个游戏对象分配了不同的 Baked Tag,因此被强制生成到第二张光照贴图中。

Baked AO(烘焙环境遮蔽)

属性 作用
Quality 当估算环境遮蔽(AO)时投射的射线数。射线数越高,AO 效果越好,但同时也会增加烘焙时间。
Anti-aliasing Samples 当对 AO 进行抗锯齿时使用的采样数。采样数越高,AO 效果越好,但是同时也会增加烘焙时间。

General GI

属性 作用
Backface Tolerance(反面阈值) 一个纹素发射的射线中照射到正面的百分比,基于此决定该纹素是否被判定为有效。如果一个纹素发射的射线中有许多照射到了反面(几何体内部纹素),该纹素将被视为无效。在这种情况下,人工效果就可以通过从周围纹素获取值来避免。如果阈值是0,那么只有当该纹素除了反面什么都看不到时才会被认定为无效;如果阈值是1,那么只要有一条光线照射到了反面,该纹素就会被认定为无效(和上面 Baked GI 中的相关描述一模一样)。

配置 Lightmap Parameters Assets

Scenes

想要为整个场景配置一个 Lightmap Parameters Asset,需要打开 Window > Lighting 窗口,点击 Scene 标签,然后导航至 General GI 设置项。

【Unity3D技术文档翻译】第3.6.3篇 光照贴图参数(Lightmap Parameters)_第5张图片

使用 Default Parameters 下拉菜单来配置一个默认的 Lightmap Parameters Asset。该下拉菜单会列出所有可用的 Lightmap Parameters Asset。

【Unity3D技术文档翻译】第3.6.3篇 光照贴图参数(Lightmap Parameters)_第6张图片

GameObjects

想要为单个游戏对象配置一个 Lightmap Parameters Asset,确保该游戏对象已经具有 Mesh Renderer 或者 Terrain 组件。

【Unity3D技术文档翻译】第3.6.3篇 光照贴图参数(Lightmap Parameters)_第7张图片

想要将 Lightmap Parameters Asset 配置到 Mesh Renderer 上,勾选组件的 Lightmap Static 复选框,并从下拉菜单中选择一个 Lightmap Parameters Asset。如果选择了 Default Scene Parameter 选项,则意味着将和场景使用相同的配置。

【Unity3D技术文档翻译】第3.6.3篇 光照贴图参数(Lightmap Parameters)_第8张图片
image

想要将 Lightmap Parameters Asset 配置到 Terrain 上,勾选组件的 Lightmap Static 复选框,并从下拉菜单中选择一个 Lightmap Parameters Asset。如果选择了 Default Scene Parameter 选项,则意味着将和场景使用相同的配置。

如果本文对你有帮助的话,点个赞或者评论一下吧!

下一章:【Unity3D技术文档翻译】第3.6.4篇 烘焙环境遮蔽(Baked ambient occlusion)

你可能感兴趣的:(【Unity3D技术文档翻译】第3.6.3篇 光照贴图参数(Lightmap Parameters))