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

Chart

Chart是一个light map贴图,来自于绘制给定场景模型的light map UVs。我们可以把它想象成一个小的瓦片,里面有一个灯光的图像,附加在模型上。Chart由两部分组成辐照度、方向。
当Precomputed Realtime GI预计算之后,会得到来自Chart中每个texel中的光照信息。所以大量的Chart会增加Precomputed Realtime GI的预计算时间。因此了解Chart的工作方式以及如何管理它们以优化预计算时间是很重要的。
Unity GI 光照系统系列(三) —— Chart图表_第1张图片
如图所示,光照贴图要小于chart半个texel的大小,这是为了避免贴图过滤造成的渗色。
默认情况下,每个Chart都至少是4*4的texel。所以无论模型的大小一个Chart都需要16个texel。如果一个模型有50个Chart,那么这将用到800个texel。所以我们减少模型的Chart数量可以很大程度上的优化光照系统的预计算时间。
点击Window -> Lighting打开Lighting设置面板,选择Object,在Hierarchy面板中选择要设置的模型。
Unity GI 光照系统系列(三) —— Chart图表_第2张图片
然后对Auto UV Max Distance和Auto UV Max Angle两个参数进行调整,在下面的Preview中查看Charting,使Chart的数量尽量的少。调整后。
Unity GI 光照系统系列(三) —— Chart图表_第3张图片
这里有一个小技巧当场景中模型很多的时候光照预计算一次会消耗大量的时间,我们可以选择模型然后按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视窗中也可以看到对应的一些选项。
Unity GI 光照系统系列(三) —— Chart图表_第4张图片
其中Irradiance模式下只显示场景内的反射光,Directionality模式下显示所有的光照情况。
Unity GI 光照系统系列(三) —— Chart图表_第5张图片

你可能感兴趣的:(Unity,GI,光照系统)