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. js实现弹窗居中

    在一些页面中,我们总会遇到一些弹窗不居中的时候,还要根据浏览器的大小来调整弹窗的弹出位置, 之前我也遇到这样的问题,现在我把我知道的呈现给大家 css样式 .windowBox{ width:500p ...

  2. python下的socket常用方法举例

    python下的socket 1.简单的server和client端的socket代码 server.py: #!/usr/bin/env python #_*_ coding:utf-8 _*_ i ...

  3. 使用Eclipse创建Web Services

    正文: 项目源文件: 百度云盘/博客园/project/wsServerExample/wsServerExample.rar 参考文献: http://www.ibm.com/developerwo ...

  4. 如何用jQuery获得select的值

    如何用jQuery获得select的值,在网上找了看了一下,下面将总结一下: 1.获取第一个option的值        $('#test option:first').val(); 2.最后一个o ...

  5. sqlserver循环

    普通while循环 1 循环5来修改学生信息 循环遍历修改记录 DECLARE @i int set @i=0 while @i<5 BEGIN update Student set demo ...

  6. window 连linux

    https://blog.csdn.net/ruanjianruanjianruan/article/details/46954681 https://blog.csdn.net/u013754317 ...

  7. 执行 crontab 的计划任务

    新建了一个 Laravel 的计划任务,配置好 crontab * * * * * php /www/sunzhongwei/artisan schedule:run >> /dev/nu ...

  8. pytest十二:cmd命令行参数

    命令行参数是根据命令行选项将不同的值传递给测试函数,比如平常在 cmd 执行”pytest —html=report.html”,这里面的”—html=report.html“就是从命令行传入的参数对 ...

  9. linux下安装ruby环境

    安装步骤: ruby的shell叫irb,我们可以输入irb -v查看下irb的版本号 1.安装ruby解释器shell: yum install ruby-irb -y Installed: rub ...

  10. POJ 3421 X-factor Chains (因式分解+排列组合)

    题意:一条整数链,要求相邻两数前一个整除后一个.给出链尾的数,求链的最大长度以及满足最大长度的不同链的数量. 类型:因式分解+排列组合 算法:因式分解的素因子个数即为链长,链中后一个数等于前一个数乘以 ...