共计 746 个字符,预计需要花费 2 分钟才能阅读完成。
unity 中存在三种更新形式 Update、FixedUpdate、LateUpdate。这三种更新形式别离利用于不同的情景。
Update 更新
update 是每次渲染新的一帧时才会调用,和机器性能有着严密的分割。如果机器的性能较差或者场景较简单,Update 的更新频率会呈现较大的稳定,因而和机型性能以及须要精准计算的操作不宜呈现在 Update 中。
FixedUpdate 固定更新
FixedUpdate 是固定工夫更新,也就是说这个函数和帧率无关,他的更新频率是固定的。在 unity 中默认的更新频率是 0.02 秒,当然你也能够通过 Edit->ProjectSetting->Time->FixedTimeStep 来设置更新频率。
FixedUpdate 利用于物理碰撞和倒计时等须要精准数据的操作。如果把物理操作放在 Update 中,因为碰撞检测的工夫是固定的,当物体产生碰撞时,如果人物未进行挪动,则下一帧物体会继续移动,这样就会产生抖动。艰深来讲就是 Update 的更新频率太快大于了碰撞检测的频率,物体曾经向前挪动了,但还未进行碰撞检测,因而人物会穿梭过来,待碰撞检测结束后人物又会被弹出去。
LateUpdate 晚于更新
LateUpdate 是提早更新函数。处于激活状态下的脚本每一帧都会在 Update 执行结束后再执行 LateUpdate,通常用来调整代码的执行程序。
LateUpdate 配合 Update 经常会产生意想不到的成果。例如物体的追随(相机视角追随人物挪动)如果相机放在 Update 有可能会呈现抖动,这是因为相机可能先于人物执行了追随挪动指令,人物之后再执行挪动指令,此时相机的视距就会发生变化,因而就会产生抖动。如果经相机操作写在 Update 中能够确保人物地位确定结束后再确定相机的地位和旋转。
正文完