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

相关推荐
曹勖之14 小时前
UE5 的 Waterline Pro 6的浮力作用机制解析
ue5
曹勖之14 小时前
UE5 UDS(Ultra Dynamic Sky)动态天气天空如何采用官方光源和雾
ue5
zhangzhangkeji16 小时前
相机与动画 - 3:引入相机到动画,摇臂与导轨的使用,以及动画连接,动画的过渡轨道,从关卡蓝图中引用场景中对象的方法,
ue5
SpiderCodeJ17 小时前
【UE5】- VR小技巧 :用PC处理代替频繁使用VR头显开发
ue5·vr·虚拟现实
AA陈超2 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P07-11 实现自动运行
c++·游戏·ue5·游戏引擎·虚幻
ue星空4 天前
UE核心架构概念
网络·c++·ue5
ue星空4 天前
AActor前面为什么要加A? UObject前面为什么要加U?
ue5
AA陈超5 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P07-08 点击移动
c++·游戏·ue5·游戏引擎·虚幻
曼巴UE56 天前
UE5 C++ Slate 画曲线
开发语言·c++·ue5
ue星空6 天前
UE5C++UKismetMathLibrary源代码
c++·ue5