当我单击播放按钮时,我开始注意到旋转速度比游戏对象的正常游戏窗口中快得多。此外,玩家跳跃在最大化视图中更强。 游戏 : 3d 我感谢您的帮助。 这是代码:
{
transform.Rotate(0, 0.07f, 0);
}
因为你的代码完全依赖于帧速率!这意味着如果您以每秒 60 帧的速度运行,则每秒大约4.2
度。但是,如果由于某种原因您突然以每秒 120 帧的速度运行,您的旋转速度会提高一倍!
这不仅会发生在编辑器本身中,尤其是在构建的应用程序中,该应用程序很可能在以后运行在不同强度的设备上。
您始终希望使用Time.deltaTime
(自最后一帧以来经过的时间)来确保您的值不是value per frame
而是value per second
transform.Rotate(0, 5f * Time.deltaTime, 0);
当然,您将需要根据需要调整值,而5
现在实际上意味着5 degrees per second
无论帧速率如何。
(Time.deltaTime
仍然依赖于Time.timeScale
,所以在某些用例中,你甚至需要Time.unscaledDeltaTime
顾名思义,它忽略了时间刻度并使用实际秒)
在您的特定情况下,最有可能的是,在最大化的游戏视图中,您可以每秒渲染更多帧,因为性能完全集中在游戏视图上,并且跳过所有检查器、场景视图(可能是最强的影响)、层次结构视图等重新绘制开销。