开发虚拟现实游戏,但它是如此滞后

时间:2016-11-24 15:54:22

标签: unity3d virtual-reality

我正在开发一款基于VR的Android游戏,游戏玩家可以在游乐园内自由活动,游乐园里摆满了各种各样的东西,如摊位,玩具,摩天轮,铁轨和其他嘉年华游乐设施。现在,如果我放置一个像铁轨和摩天轮一样的大网格,每个都有大约400k + polycount,当我在我的智能手机(Galaxy s7边缘)上运行它时,我会面临着徘徊和懒散地观看VR中的情景。我还从一些物体中减少了多边形,固定了纹理分辨率,但仍然没有办法接近以50-60fps的速度运行。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:3)

如果您正在为Oculus平台构建它,以下是一些性能要求:

  1. 每秒60帧
  2. 每帧50-100个drawcalls
  3. 每帧50k - 100k多边形
  4. 脚本执行花费1~3 ms(Unity Update())
  5. 优化游戏:

    1. 使用Lightmaps /烤灯代替运行时/动态照明。
    2. 将静止物体标记为静态以使用静态/动态batching。这将减少drawcalls。
    3. 使用Oculusion culling保存渲染能力。这将减少tricount和drawcalls。
    4. 通过将单独的纹理放入更大的纹理图集中,在对象中使用更少的材质。
    5. 使用压缩纹理减小纹理的大小。
    6. 使用Generate MipMaps选项导入纹理以节省GPU电源。
    7. Read More关于VR的优化。

      Read More关于Unity中的图形优化

      希望这有帮助

答案 1 :(得分:2)

主要问题(不仅在VR中)是动态照明。 尝试禁用所有灯光,如果你真的需要一些阴影,请加油。

这是关于光照贴图的Quick tutorial