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

相关推荐
龙智DevSecOps解决方案6 小时前
Perforce演讲回顾(上):从UE项目Project Titan,看Helix Core在大型游戏开发中的版本控制与集成使用策略
游戏·ue5·源代码管理·perforce·helix core
我救我自己2 天前
UE5.4.3 录屏回放系统ReplaySystem蓝图版
java·前端·ue5
cainiao0806053 天前
UE4/UE5开发资源
ue5·ue4
charon87784 天前
Unreal 实现建造游戏|地面交互shader
游戏·ue5·游戏引擎·虚幻
周周的Unity小屋4 天前
UE5蓝图实战:动态墙上挖坑与自定义坑尺寸
ue5·蓝图挖坑
@Unity打怪升级6 天前
Unity 与虚幻引擎对比:两大游戏开发引擎的优劣分析
游戏·unity·ue5·游戏引擎·ue4·游戏程序·虚幻
timidcatt7 天前
独立游戏《Project:Survival》UE5C++开发日志0——游戏介绍
c++·游戏·ue5
charon87787 天前
Unreal Engine 5 C++: 插件编写03 | MessageDialog
c++·ue5·游戏引擎·虚幻
charon87788 天前
UE5: Content browser工具编写02
c++·ue5·游戏引擎
ue星空8 天前
在虚幻引擎中实现Camera Shake 相机抖动/震屏效果
ue5·虚幻·虚幻引擎