有关Unity3D在VR领域的优化措施
VR应用由于其特殊性,帧数是一个十分关键的部分。如果帧数不够高,那么体验VR的人很容易就会感到头晕。研究显示,VR应用要想达到较好的效果,并且不会让人在体验时感到生理上的不适,那么至少要达到90fps以上的帧率。所以对于我们的VR应用来说,做好优化是十分关键的一步,这不同于制作其他非VR应用。
这里列出几项对我们的项目有帮助的优化技巧。
静态批处理
在我们的场景中将会存在大量的静态模型物体,比如墙面,地面,桌椅,柱子等。这些物体在运行过程中将不会移动,那么我们可以将这些不移动的物体标记为static,那么Unity在构建场景时将会自动进行烘焙,从而减少DrawCall的次数,一定程度上提高帧数。
使用贴图集
有于每一个不同的材质会引发一次DrawCall,为了减少DrawCall的次数,我们需要减少场景中的材质数量。我们使用不同材质的原因往往是这些材质需要不同的贴图,那么只要这些材质使用的Shader是相同的话,我们就可以使用贴图集来为这些不同的贴图创建相同的材质。贴图集中包含了许多小的贴图,我们可以在材质中使用不同的Offset来指定不同的贴图。
使用Pro Draw call Optimizer Light来生成贴图集(这个是免费版本)。
使用异步场景切换
当我们需要从一个房间移动到另一个房间时&#