我正在为Unity iOS开发一个非常简单的垂直滚动游戏.我的游戏正在经历不一致的抖动.我已经广泛搜索了网络,寻找没有任何运气的解决方案.我正在使用Unity版本5.3.4 f1.
游戏

- 一个角色正在倒下.我们使用unity的角色控制器来移动角色
Update()(Time.deltaTime正在成倍增加).
- 相机跟随角色
LateUpdate()(使用Vector3.Lerp()后跟).
- 由于角色向下移动,障碍物似乎向上移动屏幕.
- 场景中有1个方向光,设置为实时阴影.阴影质量高且硬阴影.
- 场景中没有刚体.并且分析器中没有重大的峰值.
- 我们有非常简单的几何体,很少有绘制调用/设置传递调用(平均7次传递调用).
- 我们有恒定的60 fps.
- 由于我们在iOS上运行vSync默认为On,因此无法禁用.
问题
- 背景元素/障碍物(树木,岩石等)开始抖动没有明显的原因.这种行为是不一致的,有时候是紧张不安,有时却不是.
- 即使它没有抖动,当用户通过触摸提供输入时,我们也会遇到小的口吃.
我们尝试了什么
- 我们尝试的所有组合
Update(),LateUpdate(),FixedUpdate(),Time.deltaTime Time.smoothDeltaTime线性插值,减少现场的几个立方体和删除所有对撞机和触发器.
- 我们已经研究了以下线程:Link1,Link2,Link3和无数其他线程.
- 最初我们的游戏以默认的30 fps运行.但经过一些研究后,似乎我们的问题是由于"帧速率"和"屏幕刷新率"之间的差异.(要了解此问题,请参阅以下链接).由于iOS设备具有60赫兹的刷新率,我们有我们的目标帧速率设置为60,我们的游戏保持恒定的60个FPS.
- 将目标帧速率设置为60后,抖动有所改善,但现在不一致.
我完全没有想法.任何帮助或指针将受到高度赞赏.
提前致谢.