1、VR与其他一些平台不同,fps需要达到90才会有效避免画面抖动和身体不适,所以VR最好尽早并经常加以优化,而不是把优化留到以后的发展阶段。定期测试目标设备也是也是非常有帮助的。 下图为没有做任何优化的项目 drawcall 2000,Saved by batching 3.3W,fps 24。可以体验一圈不说晕的都是神人,为了自己好也免得测试人员受罪请随时优化。 file:///C:\Users\zd\AppData\Local\Temp\ksohtml\wps67B1.tmp.jpg 2、因为本项目为一个飞行项目,双眼渲染的画面大多数情况下是包含场景的主物体(小区)的,所以在通常项目中可以对Drawcall优化立竿见影的遮罩剔除显得尤为鸡肋,那么零散的小物件无法剔除便会造成大量批处理,给CPU造成负担。 解决方案:场景中使用同材质球的小物件可以进行网合并 使用MeshBaker网格合并插件 合并网格 无法合并的让美术重新做模型,将使用同材质的小物件合并为一整个物体后重新导入到unity 优化网格后,此时项目fps达到可以达到90fps file:///C:\Users\zd\AppData\Local\Temp\ksohtml\wps67B2.tmp.jpg 此图为未合并网格,大约4500个子物体组成,可以看到batching上升2W+,fps下降到34 file:///C:\Users\zd\AppData\Local\Temp\ksohtml\wps67B3.tmp.jpg 2、Unity自带地形Terrain 绝对不能在VR项目中刷大量的自带树。第一个是没有树时,drawcall为799,第二个有树,drawcall为1500提升了两倍,fps下降50,并且地形刷的树是不能在地形烘焙阴影。Unity5.6中地形烘焙阴影时质量调高才能在地形上出现清晰阴影 解决方案:使用T4M地形优化插件, 使用面数低的树300面搞定,外景可以使用更简单的模型树 file:///C:\Users\zd\AppData\Local\Temp\ksohtml\wps67B4.tmp.jpgfile:///C:\Users\zd\AppData\Local\Temp\ksohtml\wps67B5.tmp.jpg
|