Unity3D - 预计算过程 (Precomputed Process)
2017-08-05 00:05
471 查看
在Unity中,无论预计算照明是自动处理还是手动处理,它都是在后台进行计算的。
当预计算运行时,编辑器右下角将出现一个蓝色进度条。根据是Baked Gl,还是Precomputed Realtime GI,预计算过程会有不同的阶段。
显示预计算过程当前的进度。
在上面的例子中,我们可以看到11个任务已经执行了5个,在预计算过程移动到第6个任务之前,还有108个工作需要处理。
各个阶段如下:
从“Inspector”面板中,可以选择“static”复选框(“Inspector”>“static”)。这会将GameObject的所有静态选项设置为静态的,包括导航和批处理,而这可能是你不愿看到的。对于Precomputed Realtime Gl,仅有”Lightmap Static’需要被选中。
对于更细粒度的控制,可以从“Inspector”面板的“Static”复选框右侧的下拉列表中设置各个静态选项。此外,对象也可以在Light窗口的“Object”区域中设置为“Static”。
但是,如果未选择“Auto”,则需要手动启动预计算,方法是点击旁边的“Generate Lighting”按钮。这将以相同的方式开始预计算,同时让您控制此过程何时开始。
手动启动预先计算会导致对场景照明的所有方面进行评估和重新计算。如果您希望自己选择性地重新计算反射探测器,可以通过“Generate Lighint”按钮旁边的下拉菜单来完成。
此缓存存储在Unity项目之外,可以使用(Preference> GI Cache> Clear Cache)清除。清除意味着预计算的所有阶段都需要从重新计算,因此可能会耗费一些时间。u
当预计算运行时,编辑器右下角将出现一个蓝色进度条。根据是Baked Gl,还是Precomputed Realtime GI,预计算过程会有不同的阶段。
显示预计算过程当前的进度。
在上面的例子中,我们可以看到11个任务已经执行了5个,在预计算过程移动到第6个任务之前,还有108个工作需要处理。
各个阶段如下:
Precomputed Realtime GL | Baked GL |
---|---|
01 - Create Geometry | 01 - Create Geometry |
02 - Layout Systems | 02 - Atlassing |
03 - Create Systems | 03 - Create Baked Systems |
04 - Create Atlas | 04 - Baked Resources |
05 - Clustering | 05 - Bake AO |
06 - Visibility | 06 - Export Baked Texture |
07 - Light Transport | 07 - Bake Visibility |
08 - Tetrahedralize Probes | 08 - Bake Direct |
09 - Create ProbeSet | 09 - Ambient and Emissive |
10 - Create Bake Systems | |
11 - Bake Runtime | |
Probes | 12 - Upsampling Visibility |
01 - Ambient Probes | 13 - Bake Indirect |
02 - Baked/Realtime Ref. Probes | 14 - 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
相关文章推荐
- Unity3D - 预计算实时全局照明(Precomputed Realtime Gl)
- UE4在场景中使用预计算可视性(PrecomputedVisibility)
- Precomputed Radiance Transfer计算次表面散射[续]
- Precomputed Radiance Transfer计算间接光照
- Precomputed Radiance Transfer计算次表面散射
- Logistic回归计算过程的推倒
- mapreduce源码分析作业提交、初始化、分配、计算过程之初始化篇
- 矩阵相乘nxn block的计算过程
- C++ Using recursion to process linked list, 深入理解递归的过程(part1)
- Android窗口管理服务WindowManagerService计算Activity窗口大小的过程分析
- 计算视图大小(measure)的过程
- The Kernel Boot Process --linux2.6.25内核启动过程
- 快速排序平均情况下时间复杂度计算过程:
- 中国餐馆过程(Chinese Restaurant Process)
- Auto Layout Process 自动布局过程
- Eiffel语言教程——Eiffel语言的软件开发过程(An Eiffel Tutorial——ET: The Software Process in Eiffel)
- Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析
- Unity3D实现3D立体游戏原理及过程
- Android绘制View的过程研究——计算View的大小
- Unity3d使用过程中常见的20个问题