zoukankan      html  css  js  c++  java
  • 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方法。

  • 相关阅读:
    Tomcat的startup.bat启动后显示乱码--windows终端
    Java 文件组织形式
    连接Linux之win10子系统Linux安装与使用(一)
    连接Linux之win10子系统Linux安装与使用(二)
    vscode omnisharp server load timed out
    在唯一密钥属性“fileExtension”设置为“.json”时,无法添加类型为“mimeMap”的重复集合项
    vscode编译发布exe
    MySQL数据库一般设计规则
    .Net开发常用工具插件
    linx下对文件权限设置
  • 原文地址:https://www.cnblogs.com/allyh/p/9367793.html
Copyright © 2011-2022 走看看