来到“UE模型优化教程”系列的最后一章,本节主要从以下四方面对高模场景和经天元软件优化的场景进行对比,看看优化后的场景模型从6600万三角面降至960万面后、帧率突破60帧,实际效果又是如何。
一、场景效果对比
在光照模式下,抽取几个有代表性的模型进行对比:
首先是整体场景的效果,看上去两者很难分辨差异。但是我们留意到优化前的场景,在树叶晃动时会带有模糊,这是因为帧数太低的原因造成的,并非是动态模糊的效果(因为我们打开项目设置的“动态模糊”是关闭的)。而对比优化后的场景,这个模糊是没有那么明显的。
再对比其它模型,发现优化前后的区别不大。所以从表面效果看,优化后的模型是达标的。
二、模型布线对比
切换到线框模式,来对比模型的布线情况:
经过对比,看到经天元优化后的模型布线密度大大降低,并且保持均匀。部分模型可能看着布线还比较密集,譬如图片中的车辆模型,这是因为模型是从440多万面优化至82万面。82万三角面已经是一个很优化的效果了,因为我们还要平衡面数和效果两者之间的关系,不能只一味追求低面数。如果这个车辆模型面数再降低,有可能会导致一些单独带有材质的细节缺失,进而导致材质球的顺序错乱。
三、场景面数对比
这次面数的统计,我们不能使用之前的控制台命令“stat engine”,因为这个操作只能得到当前视口的一个总面数,如果有的面被挡住了,那就会被遗漏了。而我们需要获取的是场景中所有模型的总面数。这操作的顺序是:点击菜单栏的“工具”-然后选择“审计”-然后点击“统计数据”,这时就会调出一个“基元统计数据”表格,这里会展现场景中所有模型的一些基本数据。
我们在第一行找到“三角形”和“三角形数”的数据,前者代表的是单个模型的面数,后者代表的是该模型在场景中使用的次数乘以它自身的面数,得出该模型在场景中的总面数。譬如某个草的模型,其自身的面数是14,000个面,然后在场景中使用了102次,所以这个模型在场景中的总面数就是102乘以14,000,等于140万个面。
我们对比一下整体的数据:
【优化前】
所有模型的总面数加起来是1,800多万个面,然后这个场景中的总面数是6,600多万个面。
【优化后】
所有模型的总面数加起来是325万个面,比优化前1,800多万少了1,500万个面。
然后这个场景中的总面数是960万个面,比优化前6,600多万少了5,300万个面。
整体上我们优化了5倍多的三角形面数,并且在效果上也保持得很好,这是一个非常优化的结果了。
四、场景帧率FPS对比
【优化前】
在光照模式下,场景的FPS基本只能保持在25帧左右,大概每30多、40毫秒渲染1帧。
在线框模式下,整个项目一下子就变得很卡了,FPS一下子就降到了7帧左右,非常卡顿不流畅。这就证明了这个场景中的面数是非常非常多的。
【优化后】
在光照模式下,场景的FPS能稳定在60帧以上,大概每16毫秒渲染1帧,比高模场景快了1倍多。
切换到线框模式,场景fps仍然保持60帧以上,实际操作一点都不卡顿,非常流畅。说明了这个场景中的面数已经是非常优化了。
综合以上对比结果,可以看到经天元软件优化的场景应该是能满足大部分设计师的要求,让大场景也能在一般的移动端流畅运行。欢迎有兴趣、有需要的用户登陆天元官网进行免费试用。