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方法。

unity3d 脚本周期函数的更多相关文章

  1. Unity3d 脚本相互调用

    unity中三种调用其他脚本函数的方法 第一种,被调用脚本函数为static类型,调用时直接用  脚本名.函数名().很不实用…… 第二种,GameObject.Find("脚本所在物体名& ...

  2. [转]unity3d 脚本参考-技术文档

    unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...

  3. Unity3D脚本调用Objective C代码实现游戏内购买

    0.开篇吐槽: 一年之内从WP转到iOS,又从iOS转到U3D,真心伤不起. 1.Unity3D脚本调用OC代码的原理: 其实也没啥神秘的,因为OC是和C互通的 ,C#又可以通过DllImport的形 ...

  4. Unity3D脚本中文系列教程(十六)

    Unity3D脚本中文系列教程(十五) ◆ function OnPostprocessAudio (clip:AudioClip):void 描述:◆  function OnPostprocess ...

  5. Unity3D脚本中文系列教程(十五)

    http://dong2008hong.blog.163.com/blog/static/4696882720140322449780/ Unity3D脚本中文系列教程(十四) ◆ LightRend ...

  6. Unity3D脚本中文系列教程(十四)

    http://dong2008hong.blog.163.com/blog/static/469688272014032134394/ WWWFrom 类Unity3D脚本中文系列教程(十三)辅助类. ...

  7. Unity3D脚本中文系列教程(十三)

    http://dong2008hong.blog.163.com/blog/static/469688272014032334486/ Unity3D脚本中文系列教程(十二) ◆ function G ...

  8. Unity3D脚本中文系列教程(十)

    http://dong2008hong.blog.163.com/blog/static/4696882720140312627682/?suggestedreading&wumii Unit ...

  9. Unity3D脚本中文系列教程(九)

    Unity3D脚本中文系列教程(八) name 对象名称hideFlags 该物体是否被隐藏,保存在场景中或被用户修改继承的函数 GetInstanceID 返回该物体的实例id继承的类函数 oper ...

随机推荐

  1. Android Studio安装apk失败

    可能的情况 手机上已经安装了应用或者应用卸载不彻底 解决办法: adb uninstall yourpackagename 如果uninstall失败,可以考虑 clean一下Android Stud ...

  2. sqlyog通过跳板机ssh连接mysql数据库

    方法一: 方法二: 在跳板机上启动sh脚本做ssh端口转发,客户端配置连接 10.0.0.1的8306端口即可 jdbc:mysql://10.0.0.1:8306/testdb?useUnicode ...

  3. [Android四大组件之二]——Service

    Service是Android中四大组件之一,在Android开发中起到非常重要的作用,它运行在后台,不与用户进行交互. 1.Service的继承关系: java.lang.Object → andr ...

  4. 服务端工程师入门与进阶 Java 版

    前言 欢迎加入我们.这是一份针对实习生/毕业生的服务端开发入门与进阶指南.遇到问题及时问你的 mentor 或者直接问我. 建议: 尽量用google查找技术资料. 有问题在stackoverflow ...

  5. LeetCode(5):最长回文子串

    Medium! 题目描述: 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 长度最长为1000. 示例: 输入: "babad" 输出: "bab&quo ...

  6. LINUX UBUNTU 快捷键

    一.打开关闭终端 ctrl + alt + t //打开一个新终端 shift + ctrl +n //在打开终端的情况下再打开一个新终端shift + ctrl + q //关闭一个新终端 二.文件 ...

  7. pyhon----模块

    sys模块: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 s ...

  8. NodeJS学习:搭建私有NPM

    工具 verdaccio nrm pm2 特点 verdaccio 的特点: 不同步拉取npm库,占据大量硬盘,没有硬盘被撑爆的问题: 安装配置极其简单,不需要数据库: 支持配置上游registry配 ...

  9. hdu 2066 多起点 多终点

    多起点 多终点 无向图 结点的个数要自己求 Sample Input6 2 3 //边数 起点数 终点数1 3 5 //u v w1 4 72 8 123 8 44 9 129 10 21 2 //起 ...

  10. Kibana加载样本数据

    kibana 6.2 加载样本数据 kibana loading sample data 下载样本数据 # 莎士比亚经典作品 wget https://download.elastic.co/demo ...