您的位置:首页 > 移动开发 > Unity3D

Unity3D - 预计算实时全局照明(Precomputed Realtime Gl)

2017-08-13 00:57 597 查看
在Unity中,实现全局照明(Global illumination)或反弹灯光(bound lighting)有两种不同的技术。分别是Baked Gl和Precomputed Realtime Gl。这篇教程聚焦于Precomputed Realtime Gl。

当使用Precomputed Realtime Gl,在UnityEditor模式下计算场景中静态物体周围的反射光以便给游戏运行中使用,这就是一次灯光预计算过程。该过程减少了运行时必须执行照明计算的次数,并且允许实时的反射光,且不会影响交互的帧率。

当使用Baked Gl时,在预计算过程中会生成离线的传统纹理贴图。这些贴图会作为资源放置在工程中,并且在运行时不可以被改变。Precomputed Realtime Gl并不会以同样的方式创建光照贴图。相反的,光照的数据会被作为Lighting Data Asset存储,其包含在运行时所需的信息和一组低分辨率的光照贴图。

除非我们的场景已经做好准备和优化,否则完成这些计算所需的时间可能会变的过长。在本教程中,我们将学习如何为一个Scene优化Enlighten(Unity Precomputed Realtime Gl和 Baked Gl的后台),以便照明预先计算需要几分钟而不是几小时,以便是花费几分钟而不是几小时去预计算照明。

我们会覆盖:

如何为我们的场景确定适当的照明分辨率。

什么图表会影响预计算的次数。

如何开始一个预计算过程。

使用光探测器来减少照明解决方案的复杂度。

改善由Unity Precomputed Realtime Gl产生的可自动解包的UV数据。

什么是集群以及它们如何产生全球灯光照明。

使用Lightmap参数在每个对象的基础上微调照明效果。

一旦我们学会如何应用这些技巧,我们就可以得到Precomputed Realtime Gl的好处:快速迭代的能力,能够在场景中快速的进行光照试验,并且可以的得到实时的反弹反馈。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: