Unity - 是否有必要在固定更新中始终施加力量

问题描述 投票:0回答:1

我正在使用 Unity 为 iOS 设备创建游戏,其中有一个骰子(压缩圆柱体形状)对象。我创建了一个名为“swipe”的自定义函数,在其中我通过计算起始位置和结束位置来确定滑动方向。

我已经对这个物体施加了力。但是当我在

Update()
调用中运行该函数时,它会显示调试消息,但物理功能不起作用,但是当我从
FixedUpdate()
调用相同的函数时,它工作得很好。

那么,我是否必须使用

FixedUpdate()
来进行所有物理计算?

c# ios unity-game-engine unityscript
1个回答
1
投票

简而言之,它与每一帧的处理方式以及帧的渲染和完成速度之间的差异有关。

根据我的理解,如果你开始将物理放入 Update() 中,它可能不会在每一帧都执行,因为它正在播放,但是通过将其放入 FixUpdate() 中,它可以运行。 当应用大多数与物理相关的函数时,应该使用FixedUpdate(),因为您知道它将与Unity物理引擎同步执行。

与更新一样,它不是固定的,它基于渲染的帧数量,因此,与任何给定时间通过渲染引擎进行的工作量相关,它可能会更快或更慢。

因此,保持简单,并将物理相关代码分离到固定更新中。确保同步性。

如果您不太明白,或者可能想要更深入的答案,请查看用户 Duck 的这篇文章

http://answers.unity3d.com/questions/10993/whats-the-difference- Between-update-and-fixedupdat.html

© www.soinside.com 2019 - 2024. All rights reserved.