首页 > 代码库 > 【事件函数】画面刷新相关——Update、FixedUpdate和LateUpdate

【事件函数】画面刷新相关——Update、FixedUpdate和LateUpdate

原文地址 https://docs.unity3d.com/Manual/EventFunctions.html

 

        在Unity里,脚本并不像传统的脚本那样在循环中不断执行代码,直到退出循环;相反,Unity间接地将控制权传递给脚本,来调用其中的函数。一旦函数执行完毕,控制权将被传递回Unity。这些函数被称为事件函数。Unity制订了函数的声明标准,以确定发生某一特定事件时调用哪个函数。以下是一些最常见和最重要的事件。

·“Update”事件

       游戏像是动态生成的动画。游戏编程的一个关键是,在每一帧画面呈现前改变游戏中对象的状态。在Unity脚本中,可以使用Update函数实现这种功能。函数声明:

 

void Update() 
{

}

 

Unity将在每一帧画面绘制之前调用Update函数。

·"FixedUpdate"事件

     不同的设备硬件不同,游戏画面绘制效率不同,帧绘制频率便随之变化,Unity每次调用Update事件的时间间隔也会变化。假如游戏中所有对象状态的计算都在Update中完成,那么会出现游戏在其他设备运行时怪物移动速度十分缓慢,或者速度快到玩家来不及作出反应就被怪物打死了。因此,Unity设计了FixedUpdate事件,这个事件将定期被调用,不受帧率的影响。

void FixedUpdate() 
{

}

一般将物理相关的计算放在这个事件中。

·LateUpdate

     在所有Update函数调用完后,调用LateUpdate。

当物体在Update里移动时,如需要相机跟随物体可以在LateUpdate里实现。

void LateUpdate() {
    Camera.main.transform.LookAt(target.transform);
}

 

【事件函数】画面刷新相关——Update、FixedUpdate和LateUpdate