UE Actor生命周期

简介: UE Actor生命周期

生命周期流程图

Actor生命周期如上图所示,主要包括以下:

在关卡中实例化或生成Actor,包括如何初始化Actor。

将Actor标识为PendingKill,然后通过垃圾回收移除或销毁。

其实,从上图可以看出不管Actor是如何创建的,最终销毁路径都相同。

Actor生成方式

关于Actor的生成方式,有三种:

1.从磁盘加载

2.在编辑器中运行

3.生成/延迟生成

Actor生命周期终点

这个有多种方式销毁Actor,但是从世界中删除它们的方式是一样的。事实上,大部分Actor在运行中不会实际销毁,可以看垃圾回收。

需要删除某个Actor时,手动调用AActor::Destroy,这时候GamePlay仍在继续。Actor被标记为等待销毁并从关卡的Actor数组中移除。

垃圾回收

一个对象被标记待销毁的一段时间后,垃圾回收会将其从内存中移除,释放其使用的资源。

在销毁过程中,调用以下函数:

  1. UObject::BeginDestroy
  2. UObject::IsReadyForFinishDestroy
  3. UObject::FinishDestroy

高级垃圾回收

创建子对象。将对象与其子对象组合到垃圾回收器的单个群集后,引擎可延迟释放群集使用的资源,直到整个对象可被释放时一次性释放全部资源。

多数项目中无需对垃圾回收进行配置或修改,但存在一些特定情况 - 可以如下方式对垃圾回收器的"集群"行为进行调整,以提高效率:

群集处理(Clustering) - 关闭集群。在 项目设置(Project Settings) 中的 垃圾回收(Garbage Collection) 部分下,可将 创建垃圾回收器UObject群集(Create Garbage Collector UObject Clusters) 选项设为 false。对多数项目而言,此操作将导致垃圾回收效率降低,因此只建议在性能测试证明其绝对有益的情况下使用。

小结

其实,生命周期主要包括了生成(SpawnActor),初始化数据,生命周期结束(Destroy),垃圾回收/高级垃圾回收。从这几个过程可以总结出来大部分的物体的生命周期也都是这个过程。学习到了Actor的,其他地方遇到这种类型的方式,直接套用就好了。就像android的生命周期,或者unity的生命周期,也可以用这种方式来表示下。大概逻辑是一样的,细节有些不同。

相关文章
UE Actor BeginPlay 之前设置参数
UE Actor BeginPlay 之前设置参数
90 0
|
13天前
|
移动开发 JavaScript 前端开发
VUE实现一个列表清单【props 父子组件通信、slot插槽的使用、全局自定义指令的封装、$nextTick解决异步DOM更新、巧用v-model简化父子组件之间的通信、触发事件的事件源event】
VUE实现一个列表清单【props 父子组件通信、slot插槽的使用、全局自定义指令的封装、$nextTick解决异步DOM更新、巧用v-model简化父子组件之间的通信、触发事件的事件源event】
9 0
|
10月前
|
JSON 数据格式
RxSwift核心之序列的创建、订阅与销毁
RxSwift核心之序列的创建、订阅与销毁
89 0
|
10月前
[虚幻引擎插件介绍] DTGlobalEvent 蓝图全局事件, Actor, UMG 相互回调,自由回调通知事件函数,支持自定义参数。
本插件可以在虚幻的蓝图 Actor, Obiect,UMG 里面指定绑定和执行消息,可带自定义参数。 参数支持 Bool,Byte,Int,Int64,Float,Name,String,Text,Vector,Rotator,Transform,Object,Actor。
56 0
|
11月前
|
C++
UE C++延迟调用实现(LatentAction方法)
UE C++延迟调用实现(LatentAction方法)
200 0
|
11月前
|
JavaScript 前端开发 算法
【Recat组件,生命周期,路由,性能,setState】
【Recat组件,生命周期,路由,性能,setState】
62 0
|
JavaScript
Vue——08生命周期、绑定加冒号与不加的区别、总线机制、$bus事件总线、以及$emit与$on之间的关系
生命周期、绑定加冒号与不加的区别、总线机制、$bus事件总线、以及$emit与$on之间的关系
78 0
|
设计模式 数据处理 Scala
利用Actor实现管道过滤器模式
利用Actor实现管道过滤器模式
利用Actor实现管道过滤器模式
|
消息中间件 前端开发 Java
Actor 模型工作机制和消息机制 | 学习笔记
快速学习 Actor 模型工作机制和消息机制
444 0
Actor 模型工作机制和消息机制 | 学习笔记
|
前端开发
【React】归纳篇(九)组件间通信的3中方式之props与订阅发布机制 | subscribe | publish | 改写前面练习
【React】归纳篇(九)组件间通信的3中方式之props与订阅发布机制 | subscribe | publish | 改写前面练习
164 0