Unity GI 光照系统系列(四) —— Cluster图集

Cluster

修改集群是一种更细致的方法。它允许我们在Unity的光照与计算过程中减少任务量,而且运行时性能也能得到改善。
当用PRGI生成场景的光照解决方案时,Unity简化了关于静态场景的体素化结构的计算。这些体素被叫做集群。集群是映射到用于光照的静态几何物体表面上的小贴片。集群被存储在一种层级关系的结构中,用来预处理漫反射全局光照的复杂的辐射度计算。注意虽然集群和光照图表的映射方式很像,但两者实际上是各自独立的。
这里写图片描述
Clustering Scene绘制模式可以被用来显示由Unity的PRGI系统所生成的集群大小

集群会对它们映射到的静态几何物体上的反射率(albedo)进行采样。然后,在预计算的 Light Transport 阶段会对这些集群之间的关联进行计算,使得光照传播至整个集群网络。光照数据需要在游戏运行时更新,以便在保证帧率的情况下传送全局光照,Unity 为了简化这些光照数据的数量,生成静态场景近似的低分辨率环境。
这里写图片描述
图中显示了集群X的照明值与附近的集群的照明值相关。所以当集群的数量少,会减少预计算的时间以及游戏运行时的一些动态计算光照信息的时间。

在Scene中修改为Clustering模式可以查看场景中所有模型产生的集群效果。
这里写图片描述
图中类似补丁一样的方格就是一个集群。
Lit Clustering模式下绘制了光照在所有集群中的反射。
这里写图片描述
可以通过使用Clustering或者Lit Clustering场景绘制模式来显示Clusters。通过使用集群,场景会覆盖一层由多种颜色方块组成的诊断图。当每个方块图映射到对应的静态几何物体上时,每个方块图的大小代表了一个集群的大小。在场景中每种特定的颜色代表了一种不同的集群。相似地,Lit Clustering场景绘制模式展示了这些集群一旦光照被反弹传播至整个集群网络并且光照结果写回集群的样子。
减少集群的数量很大程度决定了更新的速度,也因此决定了Unity预计算实时光照在目标平台的最终效果。更重要的是,减少集群的数量将会减少光照预计算时间,以及当游戏运行时光照的更新速度也会得到改善。我将会在接下来讲解减少集群数量的方法。

猜你喜欢

转载自blog.csdn.net/weixin_37064870/article/details/81671380
今日推荐