UObject类
功能
垃圾回收
继承自UObject,并且使用UPROPERTY()宏标记的成员变量会自动被UE考虑进垃圾回收机制
非UObject类型,使用智能指针参与垃圾回收
反射
是一种语言机制:运行时获取一个类的信息(成员,函数)
序列化
实现无损存储与加载
与虚幻进行交互
运行时类型识别:使用UObject的Cast<>函数
注意事项
- UObject会在引擎加载阶段就创建一个Default Object,并不是在游戏运行的时候才调用(运行时重新调用)。
- 构造函数被调用的时候不一定有UWorld,所以GetWorld()可能返回null
Actor类
中文翻译为演员,比较贴切,就是我们场景中的物体,或者说是演出的物体(演个箱子...),总之就是能放到场景中的东西。
书中给出了更本质的回答——Actor:能被挂载组件(组件提现功能),如static mesh,movement等。
Pawn类
翻译为棋子,具有被操作的特性,可以被controller操作。
Character类
角色类,继承自Pawn,特点是具有Movement组件可以进行移动(跳跃,行走,奔跑及其他)
Controller类
Pawn与Character类就像是肉体,而Controller就是灵魂,控制肉体的行为,可以使AI,也可以是游戏场景中的真实玩家操控,这种凌驾肉体之上的设计,EPIC的解释:不同角色可能受同样的玩家操控,以表现类似行为;