Unity - 这是否必须始终在固定更新中应用force

时间:2014-01-29 08:53:13

标签: c# ios unityscript

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

我对这个物体施加了力量。但是当我在Update()调用中运行该函数时,它会显示调试消息,但是物理不起作用,但是当我从FixedUpdate()调用相同的函数时,它完美地工作。

那么,我是否必须使用FixedUpdate()进行所有物理计算。

THANKYOU。

1 个答案:

答案 0 :(得分:1)

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

根据我的理解,如果你开始在你的Update()中抛出你的物理,它可能不会在每一帧都执行,因为它的播放赶上来,但是通过将其置于FixedUpdate()中它可以运行。 在应用大多数与物理相关的函数时应该使用FixedUpdate(),因为你知道它将与Unity Physics Engine同步执行。

在Update中,它不是固定的,它基于正在渲染的帧的数量,因此,在任何给定时间,通过渲染引擎的工作量可能会更快或更慢。

因此,请保持简单,并将您的物理相关代码与FixedUpdate分开。确保同步性。

如果你不太了解它,或者想要更深入的回答,请用户看看这个鸭子

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