我做了一个2D游戏,一些精灵移动到随机位置。我使用 Vector2.Lerp 和 Time.deltaTime 来平滑精灵的传输。
当我在iOS中构建这个游戏时(我使用iPhone 4s和iPhone 5进行测试),所有精灵都会产生不稳定的动作并导致我的游戏滞后。但在Android游戏中运行非常顺利
我只使用了9个精灵并同时移动所有精灵。有人可以解决这个问题吗?谢谢。
P / s:抱歉我的英语不好。
答案 0 :(得分:1)
如果没有更多信息,解决方案有点困难,但有些可能性:
FixedUpdate
代替Update
执行Lerp。 Unity会定期调用FixedUpdate
,而Update
基本上会尽可能频繁地调用,因此FixedUpdate
在您的硬件上更轻松。 FixedUpdate
也与Unity的物理学同步,这将有助于避免在路上发生碰撞怪异。Lerps
)通过将帧速率上限从30到60 fps提升来解决。此外,您可能不希望Time.DeltaTime
用于Lerp
。 Lerp
采取(所述位置之间的起始位置|结束位置|百分比),因此transform.position
+ Time.DeltaTime
将导致“缓出”状态。效果,它不是一个你有很多控制权的人。我建议these articles更好地理解Lerp
,尤其是第二个,因为它演示了如何使用Lerp
来获得各种性感平滑的动作。
答案 1 :(得分:1)
使用以下代码更改FPS的值
Application.targetFrameRate = 50;