Unity 2018.1.3f1 UI 闪烁问题

Posted

技术标签:

【中文标题】Unity 2018.1.3f1 UI 闪烁问题【英文标题】:Unity 2018.1.3f1 UI flickering issue 【发布时间】:2018-10-30 06:04:47 【问题描述】:

自从我们将 Unity 版本从 Unity 5.4.3f1 更新到 Unity 2018.1.3f1 后,我们的团队一直遇到 UI 闪烁问题。它仅出现在构建(android/ios)上,但在编辑器上不会出现闪烁。注意:我们的 UI 的分层已经设置好了。

我们尝试过但没用的方法:

将主摄像头的透明度排序模式从默认更改为正交。 打开/关闭画布组件而不是游戏对象本身。 在预制件的 z 轴上添加了一些值(例如 0.05、0.1、1 等)

有人遇到过这种问题吗?如果是这样,请告诉我们您对此类问题的修复(或可能的修复)。任何答案将不胜感激。

【问题讨论】:

看起来您需要双缓冲并启用 vsync 会试试那个。谢谢@EmrahSüngü 不知道您是否设法找出问题所在? 【参考方案1】:

您是否尝试过实例化 UI,例如您可以使用协程进行测试,速度较慢。因此,与其在一帧中实例化 UI,例如在一个函数中,不如尝试使用协程。

IEnumerator PrepareUI()

   //Instantiate UI - 1
   yield return new WaitForEndOfFrame();
   //Instantiate UI - 2
   yield return new WaitForEndOfFrame();

这对我有用,在我尝试使用它而不是帧结束之前,我最终得到了WaitForSeconds(float) 并且显示出显着的改进。

【讨论】:

【参考方案2】:

我遇到了同样的问题。确保仅在需要时更新 UI,因此不要在 Update() 上放置任何代码,并且仅在事件上更改 UI 元素。 例如,如果您有分值,则不要在Update 函数中设置scoreUI.text = score,而是可以创建一个属性来更新scoreUI,如果分数发生变化。 您的问题可能是您在 Update() 上激活或停用 UI 元素,因此请找到另一种方法。

【讨论】:

以上是关于Unity 2018.1.3f1 UI 闪烁问题的主要内容,如果未能解决你的问题,请参考以下文章

Unity 报错之 打包安卓闪退 Could not allocate memory: System out of memory

Unity 报错之 打包安卓闪退 Could not allocate memory: System out of memory

unity+vuforia打包Android,AR扫描界面是黑白的,而在某些角度又会变成彩色,或是闪烁不定,是啥原因?

unity怎么让光源闪一下

关于Unity5.1.2f1的IL2CPP异步Socket无法连接问题,求助!!!

Unity ShaderSpecial EffectsScan 扫描(UI)