当前位置:  开发笔记 > 程序员 > 正文

Unity中的Update和FixedUpdate有什么区别?

如何解决《Unity中的Update和FixedUpdate有什么区别?》经验,为你挑选了3个好方法。

UpdateFixedUpdate方法有什么区别,何时应该使用这些方法?



1> Rahul Tripat..:

来自论坛:

更新每帧运行一次.FixedUpdate可以每帧运行一次,零次或几次,具体取决于在时间设置中每秒设置的物理帧数,以及帧速率的速度/速度.

另请参阅鸭子在同一论坛中给出的答案,以详细解释两者之间的区别.

因此,在应用力,扭矩或其他物理相关函数时应使用FixedUpdate - 因为您知道它将与物理引擎本身完全同步执行.

而Update()与物理引擎的步调可能会更快或更慢,这取决于图形在任何给定时间放在渲染引擎上的负载量,如果用于物理,则会给出相应的变量物理效应!



2> Rickest Rick..:

FixedUpdate用于与物理引擎同步,因此任何需要应用于刚体的东西都应该在FixedUpdate中发生. 另一方面,更新独立于物理引擎.如果用户的帧速率下降但是你需要一定的计算来继续执行,这可能是有益的,就像你正在更新聊天或voip客户端一样,你需要定期的旧更新.

Unity在这里有一个关于Update vs. FixedUpdate的精彩视频:Unity - Update vs. FixedUpdate

该网站是初学游戏程序员的绝佳资源.



3> Semimono..:

除其他答案外,更新是按帧速率而不是物理计算速率及时进行的。这意味着通常当某些东西改变视觉效果时,您希望在Update(而不是FixedUpdate)中完成。这样可以确保在渲染帧的那一刻始终保持及时。我遇到过很多情况,因为我在FixedUpdate中进行了计算,所以运动看起来不太流畅。

在FixedUpdate中应执行的在Update中执行的操作的唯一潜在成本是物理保真度可能会下降,尤其是当您达到较低的帧速率时(但通常这是一个单独的问题,应该解决,因此通常不应该解决)将其放入FixedUpdate而不是Update的一个很好的理由)。

如果您想控制不同脚本执行更新的顺序,那么FixedUpdate是错误的树状结构。您应该查看的是EarlyUpdate之类的内容。

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有