使用Vector2.Lerp时,Unity的动作不稳定

时间:2014-08-21 03:43:16

标签: iphone unity3d

我做了一个2D游戏,一些精灵移动到随机位置。我使用 Vector2.Lerp Time.deltaTime 来平滑精灵的传输。
当我在iOS中构建这个游戏时(我使用iPhone 4s和iPhone 5进行测试),所有精灵都会产生不稳定的动作并导致我的游戏滞后。但在Android游戏中运行非常顺利 我只使用了9个精灵并同时移动所有精灵。有人可以解决这个问题吗?谢谢。
P / s:抱歉我的英语不好。

2 个答案:

答案 0 :(得分:1)

如果没有更多信息,解决方案有点困难,但有些可能性:

  • 尝试使用FixedUpdate代替Update执行Lerp。 Unity会定期调用FixedUpdate,而Update基本上会尽可能频繁地调用,因此FixedUpdate在您的硬件上更轻松。 FixedUpdate也与Unity的物理学同步,这将有助于避免在路上发生碰撞怪异。
  • 并非完全科学,但在StackOverflow的其他地方我已经看到这个问题(特别是iOS延迟Lerps)通过将帧速率上限从30到60 fps提升来解决。

此外,您可能不希望Time.DeltaTime用于LerpLerp采取(所述位置之间的起始位置|结束位置|百分比),因此transform.position + Time.DeltaTime将导致“缓出”状态。效果,它不是一个你有很多控制权的人。我建议these articles更好地理解Lerp,尤其是第二个,因为它演示了如何使用Lerp来获得各种性感平滑的动作。

答案 1 :(得分:1)

使用以下代码更改FPS的值

Application.targetFrameRate = 50;