UE4之UObject介绍
2021-06-07 本文已影响0人
Lee_5566
![](https://img.haomeiwen.com/i11345863/8f9a951606dc7b3d.png)
UObject
UObject,它是所有引擎层面、游戏层面对象的基类。
UObjects 提供的功能
- 垃圾回收
- 引用更新
- 映象
- 序列化
- 默认属性变化自动更新
- 自动属性初始化
- 自动编辑器整合
- 运行时类型信息可用
- 网络复制
![](https://img.haomeiwen.com/i11345863/894684be8e7abfef.png)
为利用 UObject 派生类型所提供的功能,需要在头文件上为这些类型执行一个预处理步骤,以核对需要的信息。
该预处理步骤由 UnrealHeaderTool(简称 UHT)执行。
UObject 自身
![](https://img.haomeiwen.com/i11345863/fbdb0d61d339ce0f.png)
UObject Class父类中UObjectBase 提供了四个核心属性:
- InternalIndex:对象在全局表中的唯一索引
- ClassPrivate:对象的 UClass 类型
- NamePrivate:对象名,也是全局唯一
- OuterPrivate:对象所属的 Outer 对象,即对象所在的 UPackage
UObjectBaseUtility 没有额外属性,提供了一系列引擎内部使用的方法。
UObject 扩展出了一些生命周期方法,以及最重要的序列化方法 Serialize(),调用 UObject#Serialize() 即可完成对象的序列化或反序列化。
![](https://img.haomeiwen.com/i11345863/56e5abb180c10c0e.png)