上一章:【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 在你的项目文件夹中存储该资源。
新建的光照贴图参数资源默认名是 **New LightmapParameters**,出现在 Project window 中光照贴图参数资源允许你为不同类型的游戏对象、不同的平台,以及不同的场景类型(比如:室内或室外场景)创建具有针对性优化的预设。
当你选中 Project window 中的一个光照贴图参数资源,检查器窗口将展示定义在该资源中的参数。参数和相关描述列在了下表中。
预计算实时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
上图展现了相同场景的两种视图:
- 左边:所有内容都在同一张图集中,因为所有游戏对象具有相同的 Baked Tag。
- 右边:有一个游戏对象分配了不同的 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 设置项。
使用 Default Parameters 下拉菜单来配置一个默认的 Lightmap Parameters Asset。该下拉菜单会列出所有可用的 Lightmap Parameters Asset。
GameObjects
想要为单个游戏对象配置一个 Lightmap Parameters Asset,确保该游戏对象已经具有 Mesh Renderer 或者 Terrain 组件。
想要将 Lightmap Parameters Asset 配置到 Mesh Renderer 上,勾选组件的 Lightmap Static 复选框,并从下拉菜单中选择一个 Lightmap Parameters Asset。如果选择了 Default Scene Parameter 选项,则意味着将和场景使用相同的配置。
image想要将 Lightmap Parameters Asset 配置到 Terrain 上,勾选组件的 Lightmap Static 复选框,并从下拉菜单中选择一个 Lightmap Parameters Asset。如果选择了 Default Scene Parameter 选项,则意味着将和场景使用相同的配置。
如果本文对你有帮助的话,点个赞或者评论一下吧!
网友评论