Lightmap Parameters
Unity可以通过对Lightmap Parameters面板中的参数进行调整,这提供了更高级的光照控制。这些配置的参数信息存储在Lightmap parameters资源中。而且它允许在协作的团队工作环境中,在场景和版本之间共享照明设置。
通过点击 Assets –> create –> Lightmap parameters 可以创建Lightmap Parameters。
Precomputed Realtime GI
–Resolution:这个值决定了使用了这个资源的对象模型所需的光照贴图的分辨率。Resolution是一个乘数,与Lighting窗口Scene标签页中的Realtime Resolution值相乘。
–Cluster Resolution:指定预计算光照产生的光照贴图中的一个texel包含Cluster数量。如果将其设置为1,那么每一个texel中都将会产生一个Cluster,如果将其设置为0.5,那么每一个texel中都只有0.5个Cluster,换句话说Cluster的大小将是Texel的两倍。
–Irradiance Budget:我们在前面的教程中讨论了Unity是如何通过使用集群生成一个模拟场景静态几何物体的模拟物,然后去计算PRGI的。在预计算期间,这些集群之间的关系已经被计算好,以便光照可以快速地被传遍整个层级网络。
本质上,光照贴图的一个纹素值取决于从该纹素的位置能“看到”场景集群的数量,这使我们可以在集群之间快速地计算光照反弹,以便全局光照的效果。在最终被渲染之前,这些集群被采样进光照贴图中。
Irradiance Budget决定了对集群网络进行采样时每张光照贴图纹素所使用的内存的大小。这决定了光照结果的精确度。Irradiance Budge的值越低意味着每个纹素所使用的内存越少,当记录场景视角的时候。这不但减少了内存的使用而且降低了CPU在运行时的开销,但是代价就是损失光照的保真度。Irradiance Budgets越低将会导致越低频率(模糊)的光照结果。相反,Irradiance Budget越高将会将会传递更精确的GI,但是增大了内存的使用量并且使CPU在游戏运行时产生了额外的开销。
如果我们的PRGI在游戏运行期间更新的不够快(滞后),将Irradiance Budget调低将会得到改善。这个设置比较适用于不太注意到的需要高保真度的对象物体,如很大、模糊或遥远的几何体。
–Irradiance Quality:当在预计算期间PRGI光照贴图被生成时,光照贴图的每个纹素都向场景发射射线,以便反馈附近集群的可见度。然后计算纹素可以看见的每个集群的百分比。这个值定义了可见集群对光照贴图中每个纹素的光照贡献。Irradiance Quality用来指定1个纹素在这个过程中能对场景投射的射线数量。
如果对象物体与其周围的光照环境不是很匹配时可以考虑加大Irradiance Quality的值。有时会出现光照贴图的纹素出现过亮的情形,这可能是因为投射到场景中射线不足,因此导致没有检测到遮挡了光照贴图纹素的集群。相似地,如果更亮的集群没有被检测到,这里光照贴图的纹素将会出现过暗的结果。
发射更多的射线增加了解决类似问题的可能,这提高了光照贴图输出结果的准确性,同时以增加了预计算时间为代价。为了优化预计算时间,我们应该使用需要达到想要的光照结果的最小的Irradiance Quality值,请注意,这个值不会影响到游戏运行时的性能。
–Modelling Tolerance:用于忽略比Threshold值还小的细节,提高Modelling Tolerance值可以确保Unity在计算GI时忽略掉非常靠近其它物体表面的几何面,增加Modelling Tolerance值代表预计算的Light Transport阶段将忽视这些小于光照贴图纹素百分比的间隙,调低Modelling Tolerance可以确保小物体不被GI计算遗漏。Modelling Tolerance不会影响PRGI的优化,对预计算时间和运行时性能也没什么负面影响,然而它可以被用在一些除错流程上,解决连调整Irradiance Budget或Irradiance Quality都无法改善的残影问题。
–Edge Stitching:如果启用了,Lightmap中的UV图表会无缝地连接在一起,避免视觉上的露馅。
–Is Transparent:如果启用,该对象在全局照明计算期间将显得透明。
–System Tag:如果你希望将几个模型生成的lightmap放在同一个信息中,将这几个模型的这个值设置成一样的。
Baked GI
–Blur Radius:
–Anti-aliasing Sample:抗锯齿的程度。
–Direct Light Quality:
–Baked Tag:同System Tag。
–Pushoff:
Baked AO
–Quality:这个值影响着环境光吸收(AO),值越大AO的质量越高。
–Anti-aliasing Sample:抗锯齿的程度。
General GI
–Backface Tolerance:
官方参数说明:
https://docs.unity3d.com/540/Documentation/Manual/LightmapParameters.html。
设置好这些参数就可以将这个资源设置到任何一个静态的MeshRenderer组件上了。