Unity3D 游戏开发技术

光照与渲染(三)- 预先计算的过程

2017-10-17  本文已影响45人  SwordMaster

在Unity里,预计算是在后台执行,不管是自动流程或是手动启用,计算期间你都可以继续编辑你的游戏对象而不受影响,预计算的时候会在右下角出现一个进度条,不同的算法会有不同的运算阶段,进度条上方也会显示阶段名称与进度。

进度条显示Unity预计算的进度

从上面的例子可以看出,11个工作已经进展到第5个,”丛集”还有108件工作要执行完才会到第6个会话,数值状态栏表如下:

启用一个预计算(Starting a Precompute)

只有静态对象会被纳入GI预计算,要让预计算启动首先必须最少要有一个静态对象,不管是单独设定对象或是从层级选单用Shift + 选择多个对象后一次修改。

从Inspector属性面板,将对象的Static勾选起来,这会将该物体所有跟静态对象相关的标识打开,包含导航标识或是批处理标识,这或许不是你想要的,针对预计算只要把”Lighting Static”这个标识打勾即可。

更细部的控制,只要点选属性接口Static右边的下拉式选单即可,此外,从Window里的Lighting接口也能指定设定静态对象。

如果你的场景设为自动(Lighting->Scene->Auto),Unity的预计算就会自动启动,否则就需要用下列的流程手动执行。

自动/手动预计算(Auto/Manual Precompute)

假如Lighting接口底下Auto这个选项是被勾选的(Lighting->Scene->Auto),那么预计算就会自动在后台随不停改变的场景产出的静态几何。但如果这个勾选没勾,你将需要点击在Auto旁边的”Build”按钮手动启动预计算,这会用同样的方式进行预计算,让你比较好控制计算的开始时间。手动启动预计算会对场景所有的照明与各方面进行重新评估并重新计算,如果你希望有选择性的计算,可以从”Build”旁边的下拉选单来选择。

GI缓存(GI Cache)

无论是烘焙还是预计算系统,Unity会”缓存”场景的光照数据到”GI缓存”,并会在计算时尝试重复运用这些数据来节省时间,你对场景的改变会影响这个数据重复利用的多少。

如果你要清除这个缓存可以从(Preference->GICache->Clear Cache)来清除,清除后代表所有数据都必须重新运算,因次会花费一些时间,在某些情况下你也许需要降低硬盘占用空间大小(例如要把项目转到另外一台计算机)是有帮助的。

下一篇:光照与渲染(四)-渲染路径

上一篇 下一篇

猜你喜欢

热点阅读