unity生命周期

unity的生命周期

都是有序的

1. 实例化与初始化阶段

Awake()

调用时机:当脚本实例被载入时调用,在场景加载时,每个对象的脚本实例创建后立即执行,无论脚本是否启用

用途:常用于进行基本的初始化操作,如变量赋值、查找组件引用等,因为此时所有对象的脚本实例都已创建,适合建立对象间的初始关联。

OnEnable()

调用时机:在对象被启用或者脚本被激活时调用 。如果对象在场景加载时就处于启用状态,会在 Awake 之后立即调用;若对象在运行时被禁用后又重新启用 ,此方法也会再次被调用。

用途:适合执行需要在对象启用时进行的操作,例如重置状态、订阅事件等。

2. 开始与更新阶段

Start()

调用时机:仅在脚本实例启用后的第一帧调用,且只会调用一次,在 Awake 和 OnEnable 之后执行

用途:常用于那些依赖于其他对象初始化完成的操作,因为此时场景中所有对象的 Awake 和 OnEnable 方法都已执行完毕。

FixedUpdate()

调用时机:以固定的时间间隔被调用,其调用频率由 Time.fixedDeltaTime 决定,默认值为 0.02 秒(即每秒 50 次)。它与帧率无关,适合进行物理模拟相关的操作。

用途:常用于处理物理计算,如刚体的移动、力的施加等,确保物理模拟的稳定性。

Update()

调用时机:每帧调用一次,其调用频率取决于游戏的帧率。帧率越高,Update 方法被调用的次数就越多。

用途:用于处理游戏中的常规逻辑,如玩家输入处理、对象的移动和旋转等。

LateUpdate()

调用时机:在 Update 方法调用之后的每帧调用。这意味着它会在所有 Update 方法执行完毕后才执行。

用途:常用于处理那些依赖于 Update 中对象状态变化的操作,例如相机跟随玩家角色,确保相机在玩家移动后再进行位置更新。

3. 渲染阶段

OnPreCull()

调用时机:在相机剔除场景中的对象之前调用。剔除 是指相机决定哪些对象在视野范围内,哪些对象不在视野范围内的过程

用途:可用于在相机剔除对象之前对场景进行一些预处理,如动态调整对象的渲染状态。

OnBecameVisible() 和 OnBecameInvisible()

调用时机:当对象对任何相机变得可见或不可见时分别调用。

用途:可以用于优化性能,例如当对象不可见时停止某些不必要的计算或动画。

OnWillRenderObject()

调用时机:当对象即将被渲染时,也就是在经过相机剔除确定对象处于视野范围内(不包括被Setactive.false的对象 ),且即将开始对该对象进行实际渲染操作之前,OnWillRenderObject() 会被调用。每个相机渲染该对象时都会触发此方法 ,可用于在对象渲染前进行特殊的渲染设置或效果处理。

用途:可用于在对象渲染前进行一些特殊的渲染设置或效果处理。

OnRenderObject()

调用时机:在所有常规渲染完成后调用,允许手动渲染自定义的图形或效果。

用途:用于实现自定义的渲染逻辑,如绘制额外的线条、图形等。

OnPostRender()

调用时机:在相机完成渲染后调用

用途:可用于在相机渲染完成后进行一些后处理操作,如添加屏幕特效。

4. 销毁阶段

OnDisable()

调用时机:当对象被禁用或者脚本被停用(如脚本组件被取消勾选)时调用。

用途:常用于执行一些清理操作,如取消订阅事件、释放资源等。

OnDestroy()

调用时机:当脚本实例即将被销毁时调用,例如当对象被删除或场景被卸载时。

用途:用于进行最后的清理工作,确保释放所有占用的资源

相关推荐
三掌柜6663 小时前
突破AR视觉交互边界:Unity赋能Rokid AR眼镜实现高精度图像识别与实时跟踪
unity·ar·交互
Brianna Home15 小时前
Godot4.3开发2D游戏全记录
游戏·游戏引擎·godot·游戏程序·动画
王维志17 小时前
使用Asp.Net WebApi(.net 8)托管Unity WebGL
unity·游戏引擎·webgl
开发游戏的老王18 小时前
虚幻引擎入门教程:虚幻引擎的安装
游戏引擎·虚幻
muyouking1118 小时前
Unreal Engine 中的旋转表示:FQuat 与 FRotator 全面解析
游戏引擎·虚幻
道传科技上位机19 小时前
机器视觉九点标定(现场实用版)
人工智能·数码相机·计算机视觉
fanstering1 天前
深度相机初探:立体视觉(Stereo Vision)、结构光(Structured Light)、TOF(Time of Flight,飞行时间)
笔记·数码相机·立体视觉·结构光·tof
lrh30251 天前
Custom SRP 12 - HDR
3d·unity·srp·render pipeline
霜绛1 天前
Unity:Json笔记——Json文件格式、JsonUtlity序列化和反序列化
学习·unity·json·游戏引擎
格林威2 天前
偏振相机是否属于不同光谱相机的范围内
图像处理·人工智能·数码相机·计算机视觉·视觉检测·工业相机