最快的2D App菜单转换方法?

时间:2018-02-28 12:13:05

标签: unity3d transition

我正在开发一个带有多个菜单的2D应用程序,我希望它们可以相互滑动过渡(例如,当新菜单从右侧进入时,当前菜单会向左移动。)

我第一次尝试编写了一个脚本,该脚本可以启用父GameObject的菜单,并在屏幕上移动菜单(lerp)。所有菜单都在一个画布下,设置为Screen Space - Overlay,但每个菜单都有一个不同的GameObject。这实现了预期的效果,但是当我在Android测试手机上运行时,帧速率在转换期间会下降60 fps到25 fps。我想移动菜单GameObjects的所有元素都太多了。

这导致尝试了两个我使游戏对象保持静止并将相机滑过(lerp)而不是画布的尝试。我制作了画布世界空间,并将其缩放以完美贴合相机。但是,当在移动设备上再次测试时,我发现帧速率始终降低到20 fps左右。不仅在过渡期间,也在菜单上,即使不与菜单交互。

如果画布设置为Screen Space - Overlay或ScreenSpace - Camera,有没有办法让游戏对象保持静止并移动游戏视图?有没有办法做简单的菜单转换而不会像nobodies业务那样减慢我的应用程序?

1 个答案:

答案 0 :(得分:-2)

在这两种方法中,从相机的角度来看,所有元素都会移动。这将触发每帧中整个UI的重绘。此绘图可能很慢,尤其是如果您有许多透明元素在彼此之上。没有什么神奇的方法可以让事情变得更快,但是手册在一个完整的部分解决了这个问题,可能值得一读,以确定在特定情况下可以改进的内容:

UI Best Practices