美文网首页
unity生命周期

unity生命周期

作者: 醉酒青牛_fa4e | 来源:发表于2019-04-14 13:44 被阅读0次

Execution Order of Event Functions
事件函数的执行顺序

        Editor编辑器
        Reset: Reset is called to initialize the script’s properties when it is first attached to the object and also when the Reset command is used.
        Reset被称为重置为初始化脚本的属性首先附加到对象时,也当使用重置命令。
        
        
        First Scene Load第一次场景加载
            These functions get called when a scene starts (once for each object in the scene).
            以下函数在场景加载每一个游戏对象脚本都会执行一次
            
            Awake: This function is always called before any Start functions and also just after a prefab is instantiated. (If a GameObject is inactive during start up Awake is not called until it is made active, or a function in any script attached to it is called.)
            Awake函数在游戏物体实例化执行,即使物体被隐藏了awake还是会执行
            
            OnEnable: (only called if the Object is active): This function is called just after the object is enabled. This happens when a MonoBehaviour instance is created, such as when a level is loaded or a GameObject with the script component is instantiated.
            每次激活游戏物体setActive(true)才会执行一次OnEnable(),游戏物体实例化后会执行一次OnEnable,如果游戏物体开始就是avtive=false,第一次就不会执行OnEnable()
            
        
        Update Order更新列表:
            FixedUpdate: 它于游戏帧之间没有关联,定时间每调用一次,FixedUpdate是一个可靠的计时器
            Update: 每帧调用更新一次
            LateUpdate:比如要第三人称摄像机跟随人物移动,应该写在该方法内,不然会造成摄像机抖屏现象
            
        Rendering    
            OnPreCull:
            OnBecameVisible/OnBecameInvisible:
            OnWillRenderObject:
            OnPostRender: 之后调用相机完成渲染场景。
            OnRenderImage:称为场景渲染完成后允许屏幕图像的后处理。
            OnDrawGizmos: 用于绘制小场景视图的可视化的目的。
        
        Coroutines协同程序
            正常运行协同程序更新后更新函数返回。协同程序是一个函数,可以停止其执行给定YieldInstruction(收益率),直到完成。不同用途的协同程序:
            yield The coroutine will continue after all Update functions have been called on the next frame.
            yield WaitForSeconds 暂停几秒继续向下执行
            yield WaitForFixedUpdate
            yield WWW Continue after a WWW download has completed.
            yield StartCoroutine Chains the coroutine, and will wait for the MyFunc coroutine to complete first.
            
        When the Object is Destroyed当对象呗销毁的时候:
            OnDestroy: This function is called after all frame updates for the last frame of the object’s existence (the object might be destroyed in response to Object.Destroy or at the closure of a scene).
            OnDestroy()函数,当对象呗销毁,场景跳转关闭的时候执行一次该方法
    
    
        When Quitting: These functions get called on all the active objects in your scene, 
            OnApplicationQuit(),当结束游戏时候,Unity会向该场景中所有的游戏物体调用一次OnApplicationQuit()方法
            OnDisable()当游戏物体setAactive(false)的时候,每一个组件都会调用一次

Script Lifecycle Flowchart脚本生命周期流程图


image.png

总结下生命周期比较重要的方法:
  awake:游戏物体实例化执行一次
  OnEable:每次setActive(true) 执行一次
  Update:
  FixedUpdate:
  LateUpdate:一些物理运动是写在该方法中
  OnDestroy:Destriy(gameobject)当物体被销毁的执行一次
  OnDisable:每次setActive(false) 执行一次

相关文章

  • 图片链接工具

    Unity3d生命周期:Unity3d生命周期.png XJGame内存池:内存池.png XJGameUI框架i...

  • Unity游戏开发核心:生命周期

    Unity游戏开发中的生命周期 C#对象的生命周期 生命周期是Unity开发过程中的核心思想,是技术进阶过程中必须...

  • 02脚本开发基础

    Unity组件开发 Unity脚本生命周期 脚本常用类 实例化预设体和父子关系

  • [Unity] unity生命周期

    继承MonoBehavior的生命周期 主要的生命周期: Reset :用户第一次添加组件时或用户点击见组件面板上...

  • 游戏开发学习笔记

    14.Unity游戏开发中的生命周期 时间:2017/12/5主题:经验总结内容: C#对象的生命周期 了解对象生...

  • Unity | 脚本生命周期流程图分析

    要编写出好的Unity脚本,就必须充分理解脚本的生命周期,也就是各个模块流程的执行模式。本文将对Unity脚本的生...

  • Unity 生命周期

    一,生命周期函数 1,按执行的先后顺序代码如下 // 注意:在游戏运行过程中,一个游戏对象第一次启用的时候,会执行...

  • Unity —生命周期

    一、下面我们来学习下脚本生命周期常用的10个脚本函数: (1) Reset() 组件重设为默认值时(只用于编辑状态...

  • unity生命周期

    Execution Order of Event Functions事件函数的执行顺序 Script Lifecy...

  • 3D引擎构建:Update生命周期的实现

    很多引擎内部都封装了自己的Update函数,比如Unity的Update生命周期,并传递了一个deltaTime,...

网友评论

      本文标题:unity生命周期

      本文链接:https://www.haomeiwen.com/subject/otssvqtx.html