UE5 C++ UObject实例化

一.创建UObject C++类

在MyObject中声明结构体FMyDataTableStruct

在MyPawn里面,先将头文件里包含 MyObject.h

在MyPawn中声明一个UMyObject类型的指针

TSubclassOf 是提供 UClass 类型安全性的模板类。例如您在创建一个投射物类,允许设计者指定伤害类型。您可只创建一个 UClass 类型的 UPROPERTY,让设计者指定派生自 UDamageType 的类;或者您可使用 TSubclassOf 模板强制要求此选择.

MySubClassObject只会指向UMyObject类型,更安全。

UMyObject::StaticClass() 这样子我就不需要有UObject实例也能拿到某个类的UClass了 。同时因为它是Static的所以每次调用T::StaticClass返回的都是同一个结果。

|------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|
| NewObject<class> | 使用所有可用创建选项的可选参数创建一个新实例。提供极高的灵活性,包括带自动生成命名的简单使用案例。 |

UE4中所有的类都继承于UObject,对UObject不使用new来直接创建,而使用UE4提供的工厂方法NewObject()来创建。

运行时动态创建

UMyObject* MyObject = NewObject<UMyObject>(this);

NewObject()有多种重载方法,其中一个关键的参数为Outer*,表示这个对象的外部对象,通常可传this指针进去。也有UE相应的回收机制,当指针为空时。

相关推荐
avi911116 小时前
UnReal-UE5虚幻蓝图如何修改
ue5·游戏引擎·虚幻·虚幻引擎·ue·蓝图·蓝图逻辑
郝学胜-神的一滴1 天前
系统设计与面向对象设计:两大设计思想的深度剖析
java·前端·c++·ue5·软件工程
Bluesonli2 天前
UE5 Niagara 系列(02):火焰(噪声 + 颜色曲线 + 透明淡出)——从喷泉思路升级到可用火焰
ue5
a1117762 天前
Elven Girl Belle - UE4/UE5 角色资源(附下载链接)
ue5·ue4
R-sz2 天前
UE5.4 打包报错 error C4668 C4067
java·前端·ue5
JK Chen3 天前
UE5 编辑器下添加组件
ue5·编辑器
暮志未晚Webgl3 天前
UE5使用CommonUI实现手柄进行UI导航
ui·ue5·commonui
zhangzhangkeji3 天前
(18)UE5 接口里的两个宏 GENERATED_UINTERFACE_BODY() 与 GENERATED_IINTERFACE_BODY()
ue5
R-sz3 天前
虚幻 UE5 像素流多用户部署,像素流多实例部署
ue5·游戏引擎·虚幻
朗迹 - 张伟3 天前
UE5粒子特效Niagara学习笔记
笔记·学习·ue5