开发 VR 游戏,但它太慢了

Developing a VR game but it is so much laggy

我正在开发一款基于 VR 的 Android 游戏,玩家可以在游乐园中自由移动,游乐园里摆满了摊位、玩具、摩天轮等东西,rails 和其他嘉年华游乐设施。现在,如果我放一个像 rails 和摩天轮这样的大网格,每个都有大约 400k+ 多边形计数,当我 运行 它在我的智能手机(galaxy s7 edge)上时,我在 VR 中观看 scean 时会面临挂机和滞后。我还减少了一些对象的多边形,修复了纹理分辨率,但仍然无法以 50-60fps 的速度接近 运行。

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

这里是关于光照贴图的Quick tutorial

如果您是为 Oculus 平台构建它,则有一些性能要求:

  1. 每秒 60 帧
  2. 每帧 50-100 次绘制调用
  3. 每帧 50k – 100k 多边形
  4. 脚本执行花费 1 ~ 3 毫秒(Unity Update())

要优化您的游戏:

  1. 使用 Lightmaps/烘焙灯代替 run-time/dynamic 照明。
  2. 将静止物体标记为静态以使用 static/dynamic batching。这将减少绘图调用。
  3. 使用Oculusion culling节省渲染能力。这将减少 tricount 和 drawcalls。
  4. 通过将单独的纹理放入更大的纹理图集中,在对象中使用更少的材料。
  5. 使用压缩纹理来减小纹理的大小。
  6. 在导入纹理时使用生成 MipMaps 选项以节省 GPU 功率。

Read More关于 VR 的优化。

Read More 关于 Unity 中的图形优化

希望对您有所帮助