五个最常见基类

最核心的五个类:

  • UObject
  • Actor
  • Pawn
  • Controller
  • Character

UObject类

  • 垃圾收集
  1. 继承自UObject类,同时指向UObject类实例对象的指针成员变量,使用UPROPERTY宏进行标记。虚幻引擎的UObject架构会自动地被Uproperty标记的变量考虑到垃圾回收系统中,自动地进行对象的生命周期管理。
  2. 采用智能指针。只有非UObject类型,才能够使用智能指针进行自动内存释放。
  • 反射
  • 序列化
  1. 一个类的对象保存到磁盘,同时在下次运行时完好无损地加载,需要继承自UObject类。
  2. 可以通过纯c++类手动实现序列化所需地函数,来让这个类支持序列化功能,这并不是UObject类独有的。
  • 与虚幻引擎编辑器的交互
  • 运行时类型识别
  1. 虚幻引擎打开了/GR-编译器参数,无法使用C++标准的RTTI机制:dynamic_cast。
  2. 希望使用,继承自UObject,然后使用Cast<>函数来完成。
  • 网络复制

UObject类会在引擎加载阶段,创建一个Default Object默认对象:

  1. 构造函数并不是在游戏运行的时候调用,即便只有一个UObject对象存在于场景中,构造函数依然会被调用两次。
  2. 构造函数被调用的时候,UWorld不一定存在。GetWorld()可能为空。

Actor类

猜你喜欢

转载自www.cnblogs.com/suomeimei/p/10722347.html
今日推荐