Unity GI 光照系统系列(三) —— Chart图表

Chart

Chart是一个light map贴图,来自于绘制给定场景模型的light map UVs。我们可以把它想象成一个小的瓦片,里面有一个灯光的图像,附加在模型上。Chart由两部分组成辐照度、方向。
当Precomputed Realtime GI预计算之后,会得到来自Chart中每个texel中的光照信息。所以大量的Chart会增加Precomputed Realtime GI的预计算时间。因此了解Chart的工作方式以及如何管理它们以优化预计算时间是很重要的。
这里写图片描述
如图所示,光照贴图要小于chart半个texel的大小,这是为了避免贴图过滤造成的渗色。
默认情况下,每个Chart都至少是4*4的texel。所以无论模型的大小一个Chart都需要16个texel。如果一个模型有50个Chart,那么这将用到800个texel。所以我们减少模型的Chart数量可以很大程度上的优化光照系统的预计算时间。
点击Window -> Lighting打开Lighting设置面板,选择Object,在Hierarchy面板中选择要设置的模型。
这里写图片描述
然后对Auto UV Max Distance和Auto UV Max Angle两个参数进行调整,在下面的Preview中查看Charting,使Chart的数量尽量的少。调整后。
这里写图片描述
这里有一个小技巧当场景中模型很多的时候光照预计算一次会消耗大量的时间,我们可以选择模型然后按Ctrl + C(mac上Command + C)进行复制,然后新建一个场景再按Ctrl + V(mac上Command + V)进行粘贴。选中右下方Build按钮旁边的Auto。然后在这个新建的场景中对其两个参数进行调整。

其中Preview视窗中有一个下拉列表有几种模式可以选择。
Charting:查看模型生成的所有Chart。
Albedo
Emissive
Realtime Intensity
Realtime Direction
Baked Intensity
Baked Direction
相应的在Scene视窗中也可以看到对应的一些选项。
这里写图片描述
其中Irradiance模式下只显示场景内的反射光,Directionality模式下显示所有的光照情况。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_37064870/article/details/81671178