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

Unity3D - 预计算过程 (Precomputed Process)

2017-08-05 00:05 471 查看
在Unity中,无论预计算照明是自动处理还是手动处理,它都是在后台进行计算的。

当预计算运行时,编辑器右下角将出现一个蓝色进度条。根据是Baked Gl,还是Precomputed Realtime GI,预计算过程会有不同的阶段。



显示预计算过程当前的进度。

在上面的例子中,我们可以看到11个任务已经执行了5个,在预计算过程移动到第6个任务之前,还有108个工作需要处理。

各个阶段如下:

Precomputed Realtime GLBaked GL
01 - Create Geometry01 - Create Geometry
02 - Layout Systems02 - Atlassing
03 - Create Systems03 - Create Baked Systems
04 - Create Atlas04 - Baked Resources
05 - Clustering05 - Bake AO
06 - Visibility06 - Export Baked Texture
07 - Light Transport07 - Bake Visibility
08 - Tetrahedralize Probes08 - Bake Direct
09 - Create ProbeSet09 - Ambient and Emissive
10 - Create Bake Systems
11 - Bake Runtime
Probes12 - Upsampling Visibility
01 - Ambient Probes13 - Bake Indirect
02 - Baked/Realtime Ref. Probes14 - Final Gather
15 - Bake ProbesSet
16 - Compositing

开始预计算

Unity预先计算照明方案仅考虑静态几何物体。要开始照明预先计算过程,我们至少需要一个GameObject在我们的场景中被标记为“静态(static)”。

从“Inspector”面板中,可以选择“static”复选框(“Inspector”>“static”)。这会将GameObject的所有静态选项设置为静态的,包括导航和批处理,而这可能是你不愿看到的。对于Precomputed Realtime Gl,仅有”Lightmap Static’需要被选中。



对于更细粒度的控制,可以从“Inspector”面板的“Static”复选框右侧的下拉列表中设置各个静态选项。此外,对象也可以在Light窗口的“Object”区域中设置为“Static”。

自动/手动的预计算

如果从Unity的“Light”面板(Light>Scene>Auto)底部选中“Auto”,则当对场景中的静态的几何对象进行更改时,预计算过程就会在后台自动开始。

但是,如果未选择“Auto”,则需要手动启动预计算,方法是点击旁边的“Generate Lighting”按钮。这将以相同的方式开始预计算,同时让您控制此过程何时开始。



手动启动预先计算会导致对场景照明的所有方面进行评估和重新计算。如果您希望自己选择性地重新计算反射探测器,可以通过“Generate Lighint”按钮旁边的下拉菜单来完成。

Gl缓存

无论是Baked Gl还是Precomputed Realtime Gl,“Unity”可以缓存(存储)有关场景照明的数据,并尽可能地重用此数据,以便在预计算中节省时间。你对Scene进行更改的数量和性质将决定如何重复使用这些数据。

此缓存存储在Unity项目之外,可以使用(Preference> GI Cache> Clear Cache)清除。清除意味着预计算的所有阶段都需要从重新计算,因此可能会耗费一些时间。u

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: