如何在统一中减少VR游戏的滞后性

时间:2016-07-18 12:35:31

标签: unity3d google-cardboard virtual-reality

我一直在使用Unity3d为VR构建游戏。它只有低多边形模型,文件大小不到40 MB仍然在游戏上玩游戏时滞后..请建议如何提高性能..

提前谢谢..

2 个答案:

答案 0 :(得分:1)

为了提高移动VR的性能,您必须尽最大可能优化所有内容,请牢记以下一些变量:

图形端  -场景中的多边形数量  -您有多少光源

编程方面  -占用您的代码多少工作,效率更高?

编程部分可能包括物理系统中的问题,也可能是由于较高的计算而可能会降低整体性能的一些逻辑问题。

我的建议是了解团结提供的Profiler,实际上,您可以观察到正在花费大量代码的工作以及瓶颈在何处。此video也可能有用。

当然,一种解决方案可以按照design patterns之类的设计标准和软件体系结构(取决于项目的大小)来实现您的代码。

我希望它对您有用!

答案 1 :(得分:1)

我从开发和发布虚拟现实游戏中发现的是以下一些问题

  • 即使模型是低多边形的,通常也要首先检查多边形的数量。例如,我查看了统一商店中的Synty模型,其中一些模型的袋子超过1k,角色模型的超过7k。如果您希望将每只眼睛的最大目标数量定为50000,则会严重减少对象的数量。

对于某些模型,您可以使用混合器和抽取工具轻松地减少多边形数量。从那里,我将使用LOD根据距离进一步减少它们的数量。

  • 使用遮挡剔除(仅限专业版)
  • 将您的相机距离设置为100而不是默认值
  • 使用移动着色器,并谨慎使用一些标准着色器,因为它们很昂贵。透明的着色器也会因为过度绘制而变得昂贵。
  • 对纹理进行批处理,并在可能的情况下使其变为静态
  • 不要在照明上使用动态阴影,而要烘烤灯光
  • 尝试避免使用物理学,因为这会变得昂贵,而要通过射线广播来触发事件或射击武器。
  • 经常运行Profiler并检查是否存在瓶颈(仅适用于专业版)
  • 减少“粒子”效果的数量及其值
  • 字符骨头也会引起问题,因此请尽可能多地移除
  • 还有Manujamming提到的代码
  • 在检查器中将质量设置设置为低,以获得最佳性能。

您能否提供游戏场景的屏幕截图?

我希望这是有道理的。 祝你好运!