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相应的回收机制,当指针为空时。

相关推荐
吴梓穆13 小时前
UE5 脚部IK
ue5
屯子来了13 小时前
Windows + VS2022 + UE5.2 编译 Fast DDS 2.14.0 完整记录
c++·ue5·fastdds
成都渲染101云渲染66662 天前
极速渲染的办法,大量算力铺垫下的“云渲染”究竟有多快
ue5·maya
3D霸霸2 天前
UE5 怎么看场景性能、判断能不能上移动端
ue5
电子云与长程纠缠2 天前
UE5 GameFeature创建与使用
开发语言·学习·ue5·游戏引擎
zhangzhangkeji2 天前
(40)UE 里从 C++到蓝图的异步节点函数,继承类 UBlueprintAsyncActionBase
ue5
混迹中的咸鱼2 天前
Unreal Engine 5 联机网络架构技术手册
网络·架构·ue5
Yuk丶3 天前
UE4 与 UE5:技术差异深度解析
c++·ue5·游戏引擎·ue4·游戏程序·虚幻
UTwelve3 天前
【UE】如何手搓一个完美贴合地形的 Mesh Decal(面片贴花)
ue5·材质·贴图·着色器
邪修king4 天前
UE5 C++ 游戏性能优化:大一也能学会的实战级优化指南
c++·游戏·ue5