unity3d 脚本周期函数

1,编辑器阶段

  • Reset方法:当脚本第一次添加到游戏对象或执行Reset命令时会调用Reset方法,常用来初始化脚本的各个属性;

2,场景第一次加载阶段

  • Awake方法:在Start方法之前调用;
  • OnEnable方法:这个函数在对象可用之后被调用,注意点,仅在对象激活状态下可以使用;

3,第一帧更新之前的阶段[Awake之后,Update之前]

  • Start方法 

以上三个方法,即Awake,OnEnable,Start完成了一个unity脚本的初始化工作。

4,执行阶段:是当前帧执行完毕,需要执行下一帧的阶段。在该阶段,可能被出发的事件是OnApplicationPause方法。

  • OnApplicationPause:当检测到暂停状态,会在当前帧结束后调用

5,更新顺序 脚本更新的逻辑在三个定义的更新方法中实现,分别是Update,FixUpdate,LateUpdate....

  •   FixUpdate:当帧频率比较低的时候,该方法会被调用多次。该方法是基于可靠的定时器,不受帧率的影响。也因此,FixUpdate()方法主要用来处理物理计算的相关逻辑,例如处理刚体;
  • Update:在游戏运行期间,每一帧都会调用该函数,也是游戏逻辑按帧更新的主要方法。
  • LateUpdate:在Update执行后,也是每帧都会被调用。常见应用就是第三人称控制器的象机跟随。这确保了摄像机追踪角色位置之前,确保人物已经完成移动。通俗讲,在Update方法后,但在摄像机渲染之前的逻辑。

 6,协程部分 

 

  

7,渲染部分 

 

OnPostRender:在相机完成场景的渲染后被调用;

8,游戏对象销毁阶段

  主要是OnDestroy方法。该方法在所有帧更新之后被调用,在对象存在的最后一帧(对象将销毁来相应Object.Destroy或关闭一个场景)。

9,游戏场景退出阶段 OnApplication在应用退出当前游戏场景前未被销毁或禁用前提下。

总结:

关于脚本的结构,有一个大致的执行顺序:

(1)调用所有的Awake方法。

(2)调用所有的Start方法。

 

posted @ 2018-07-30 20:19  icon_sunny  阅读(292)  评论(0编辑  收藏  举报