首页 > 其他分享 >Unity生命周期方法

Unity生命周期方法

时间:2023-08-17 15:00:26浏览次数:57  
标签:生命周期 渲染 物体 Update Unity 调用 FixedUpdate 执行 方法

详解
Awake:当场景开始时(简单理解成游戏启动),若物体处于激活状态(active)会被立即执行,仅执行一次。

OnEnable:接在Awake之后,且需要激活状态下,被执行,当物体每一次被激活时都会执行一次。

Reset:编辑器模式下,当脚本第一次被挂载,或是执行Reset操作时会被执行。


Start:早于所用的Update,在第一帧刷新开始前被调用,仅执行一次

FixedUpdate:区别于Update,FixedUpdate不取决于帧率进行调用。按时间(计时器)进行规则的调用,如果帧率高则可以间隔帧调用,如果帧率低则可能一帧被调用多次。
FixedUpdate一般被用于不受帧率印象的表现上。
Edit -> Project Settings -> Time 中可进行时间间隔设置。


OnTriggerXXX/OnCollisionXXX:物理碰撞与触发检测,在FixedUpdate之后,Update之前执行。

WaitForFixedUpdate:Coroutine中的等待方法,直到FixedUpdate结束后触发,在碰撞检测之后。

OnMouseXXX:鼠标输入检测。

Update:每帧更新,Update中利用Time.deltaTime来获取两帧间的时间间隔。

yield XXX:Coroutine 中的yield条件基本都在Update调用后执行。

LateUpdate:Update完成后执行,每帧调用一次。

Scene Rendering:场景渲染的方法基本上围绕Camera实施。

OnWillRenderObject:当物体可以被摄像机所渲染,则会执行该方法,脚本在物体上也可生效。
OnPreCull:当物体被剔除前执行,脚本需挂载在相机上。
OnBecameVisible/OnBecameInvisible:当物体对于任何一个摄像机来说变得可见/不可见时执行。
OnPreRender:在摄像机开始渲染场景前调用,脚本需挂载在相机上。 OnRenderObject:完成所有渲染后被调用。
OnPostRender:渲染完成后被调用,脚本需挂载在相机上。
OnRenderImage:完成图像渲染后被调用,脚本需挂载在相机上。
OnDrawGizmos:在编辑器模式下当渲染完成后被调用,用于绘制视图辅助图像。

OnGUI:响应GUI事件,该方法每帧可被多次调用,注:这与UGUI无关。
扩充:UGUI的绘制依赖于Canvas.willRenderCanvases ,该事件会在Canvas渲染前被执行。WillRenderCanvases触发位置在LateUpdate之后SceneRendering之前。

WaitForEndOfFrame:Coroutine中的等待方法,也意味着此时为一帧的结束标志。

OnApplicationPause:若应用被暂停,则该方法在帧的末尾会被执行。

OnApplicationQuit:应用退出时执行。

OnDisable:物体被禁用时执行,即进入未激活状态(active)。

OnDestroy:物体被销毁时执行。

Unity生命周期方法执行顺序详解_unity生命周期函数顺序_Vin129的博客-CSDN博客

标签:生命周期,渲染,物体,Update,Unity,调用,FixedUpdate,执行,方法
From: https://www.cnblogs.com/nyan/p/17637582.html

相关文章

  • 解锁New Bing的终极方法
    为了访问NewBing,我做了很多尝试。。。1.newbinggogo (基本不能用了,很可惜的一个项目)2.无忧行-上网专用插件或无忧行-一款高效、免费、安全、稳定的上网插件分免费版和付费版,对于免费版而言,它能解锁Google,newbing,ChatGPT,但是从某一天起,www.bing.com/chat的聊天加上了......
  • python 初始化类对象时没有执行类的构造法方法
    这个地方错了  修改: ......
  • Go语言实现计数器的方法有哪些?
    Go语言中,实现计数器可以通过使用不同的机制和数据结构来实现。以下是几种常见的计数器实现方法:1 基于原子操作的计数器:Go的sync/atomic包提供了原子操作,可以用于实现高效的计数器,适用于并发环境。package mainimport (    "fmt"    "sync"    "sync/atomic")func......
  • Spring实现幂等性的方法
    在开发Web应用程序时,确保接口的幂等性是一项重要任务。幂等性是指对同一个请求的多次执行应该产生相同的结果,而不会引起不正确的操作或数据损坏。在Spring框架中,我们可以利用一些功能和工具来实现幂等性。本文将介绍一种基本的方法来在Spring中实现幂等性。1.幂等性的概念和原则在......
  • 行数据横向删除重复值,终于学会这个方法了!
    1职场实例小伙伴们大家好,今天我们来解决一个互助群里面讨论的Excel职场办公实例:如何将行数据横向批量删除重复值。如下图所示:左侧表格为三行数据,每行数据都有几个单元格里的内容是重复的,例如第一行数据的A2单元格与C2单元格内容“3”是重复的,B2单元格和D2单元格内容“2”也是重复的......
  • CutLER:一种用于无监督目标检测和实例分割的方法
    本文分享自华为云社区《CutLER:一种用于无监督目标检测和实例分割的方法》,作者:Hint。目标检测是计算机视觉中的一种重要任务,使AI系统感知、推理、理解目标。训练定位模型需要特别的标注,比如目标的框、掩膜、定位点等。本文的工作研究了无监督的目标检测和实例分割,不使用人工标注。首......
  • Kettle 连接失败 Oracle 数据库报 ora-12505 的解决方法(转)
      用kettle新建DB连接的时候总是报错,可是用plsql连接是可以连上,错误信息大致如下:错误连接数据库[MIS]:org.pentaho.di.core.exception.KettleDatabaseException:ErroroccuredwhiletryingtoconnecttothedatabaseErrorconnectingtodatabase:(usingclassorac......
  • js数组终止循环的方法
    取代使用forEach时,遇到不符合的条件立刻终止,forEach无法return中止函数vararr=[1,2,3,4,5,6,7];try{arr.forEach((item,index)=>{console.log(item);if(item==3){thrownewError('break');}});}catch......
  • 同一端口同一方法提供grpc和http流量支持
    项目地址https://github.com/lesterhnu/grpcdemo安装工具链goinstallgoogle.golang.org/protobuf/cmd/protoc-gen-gogoinstallgoogle.golang.org/grpc/cmd/protoc-gen-go-grpcgoinstallgithub.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway编写proto//hell......
  • 地级市绿色专利授权数据计算(cast方法的使用)
    需求:工作中需要计算地级市绿色专利授权数据,需要首先利用table2array进行转换,然后通过巧妙地使用cast方法进行数据转换,最后利用循环来进行分类计算和存储,用于后续的深度数据挖掘。解决:T=readtable('BIL.txt');b=table2array(T);b=cast(b,'uint8');[h,w]=size(b)%fori......