今天有人问我问什么我在处理物理逻辑的时候把代码放在了fixedupdate里,而不用update? 我说下他们的区别吧,知道了各自的特点,就知道原因了。 update() 和 fixedupdate()在游戏中都会在更新的时候自动循环调用。 但是update是在每次渲染新的一帧的时候才会调用,也就是说,这个函数的更新频率和设备的性能有关以及被渲染的物体(可以认为是三角形的数量)。在性能好的机器上可能fps 30,差的可能小些。这会导致同一个游戏在不同的机器上效果不一致,有的快有的慢。因为update的执行间隔不一样了。 而fixedupdate,是在固定的时间间隔执行,不受游戏帧率的影响。有点想tick。所以处理rigidbody的时候最好用fixedupdate。 ps:fixedupdate的时间间隔可以在项目设置中更改,edit->project setting->time 找到fixed timestep。就可以修改了。