繁体   English   中英

加载多个场景添加剂使合成器启动(Steam VR Unity)

[英]Loading Multiple Scenes Additive Makes Compositor kicks in (Steam VR Unity)

我遇到了一个问题,我想在一个事件中在我的场景中加载大量对象,所以当我开始加载这些 Scenesmy Vive/vr 时,它会进入合成器屏幕,它在我的主场景和合成器屏幕之间有点闪烁,直到我场景加载完成。

所以我的问题是如何停止这种闪烁,我很高兴调用合成器屏幕,直到我的加载完成,然后它切换回我的主场景或类似可以解决这个闪烁问题的东西

我一直在寻找如何自己调用合成器屏幕或如何在我的加载过程中停止调用它。

任何帮助将不胜感激,因为我没有想法。

谢谢...

闪烁并显示合成器屏幕通常是由于Unity无法渲染框架引起的。 我确定您将能够在Profiler选项卡中找到导致延迟的对象(如果有的话)。 我假设“加载”对象是指实例化它们。 如果是这样,则取决于:

a)如果实例化多个相同的对象-查找GPU实例化方法

b)如果对象不是唯一的,则可以尝试:

  1. 异步加载场景
  2. 将所有(停用的)对象放在第一个场景上,而不是实例化或加载新场景,只需激活它们即可。 这只会增加初始加载时间。

您可以使用的另一件事是:

  • 单程立体声渲染

  • 仅使用或大部分使用烘焙过的闪电-将会显着提高性能(这使我可以使用拥有超过4000万个顶点的模型来实时显示VR场景)

默认情况下,只要应用程序挂起,SteamVR 就会淡入网格。 当然,保持帧率高于通常会触发此问题的阈值是理想的,但在许多情况下(例如加载场景),世界上的所有优化都不会阻止 Unity 挂起足够长的时间来触发此问题。

幸运的是,这种行为可以完全禁用! SteamVR Settings -> Developer -> Do not fade to grid when app hangs 此设置也可以在steamvr.vrsettings文件中更改,该文件可以使用vrpathreg.exe找到。 在那里,将steamvr.doNotFadeToGrid设置为 true。 该文件也由 SteamVR 设置界面修改,但通过该文件直接访问它允许您从游戏安装程序中修改目标设备的设置,例如。

不幸的是,目前还没有一种方法可以在每个应用程序的基础上进行配置,这意味着用户计算机上的所有 SteamVR 应用程序的行为都将被关闭。 调整此设置需要注意的是,低帧率会使用户感到不适,而淡入淡出到网格功能可防止这种情况发生。 但是,根据我的经验,只要您遵循性能最佳实践,该功能就会对沉浸感的影响远远超过帧率的暂时下降,并且如果帧率无论如何都在下降,这种淡入网格功能会导致强烈的闪烁就像低帧率一样不舒服。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM