【unity2D】API-学习记录2-Update、FixedUpdate与LateUpdate

目标

之前仅仅知道Update与FixedUpdate,前者每帧调用一次,后者每隔单位时间间隔调用一次。还有一个叫LateUpadte的函数。现在趁热打铁,希望能掌握这些函数

先上结论。

结论

Update FixedUpdate LateUpdate
调用时机 每一帧 (默认)每0.02秒 场景中所有Update执行完后

注意事项

1.Update是每一帧调用一次,若不同电脑跑的帧率不同,那么该函数被调用的次数就会不同。这可能影响到游戏的某些方面,比如用Transform.translate移动时,相同时间内,帧率较高的比帧率较低的移动距离更长,诸如此类。

如果想消除这个影响,一是让它在FixedUpdate里执行,二是在受影响的参数上乘以Time.deltaTime,这个Time.deltaTime以后再展开学习,此处不多赘述。

2.如果一味地追求时间平滑而把按键输入(比如Input.GetKeyDown(KeyCode.Space))写进FixedUpdate里,那么可能造成按键失灵的bug。

要解决这个问题,只需把按键输入写在Update里,而非FixedUpdate里。在unity的API中可以查阅到相关内容,以后再展开学,此处不多赘述。

3.如果需要修改FixedUpdate的调用时间间隔,可以点开Edit > Settings > Time > Fixed Timestep里自行设置。

参考资料

Unity API (2019.4 LTS)

补充

在CSDN上找到一篇相关博客,对于实现某些效果应该会有用,日后同Time总结。

posted @ 2021-04-08 18:43  AshScops  阅读(310)  评论(0编辑  收藏  举报