【UE5 C++】基础学习笔记——01 UObject的创建与使用

目录

步骤

一、创建UObject

二、创建基于UObject的蓝图类

三、在UObject中使用变量和函数


步骤

一、创建UObject

在内容浏览器中新建一个C++类

父类选择"Object"

类的类型设置为公有,这里就命名为"MyObject",点击"创建类"来创建头文件和源文件

在打开的VS中点击"全部重新加载"

创建的MyObject.h代码如下:

创建的MyObject.cpp代码如下:

二、创建基于UObject的蓝图类

在内容浏览器中对新建的"MyObject"点击鼠标右键,可以看到无法使用"创建基于MyObject"的蓝图类

如果想把"MyObject"这个C++类蓝图化,我们需要使用UCLASS宏与Blueprintable修饰符一起使用,可以将一个类标记为可在蓝图中使用。

添加完代码后保存,然后点击编译按钮

在弹出的"LiveCoding"面板可以看到编译成功的提示

此时我们就可以基于MyObject创建蓝图类了

点击后需要我们命名基于MyObject创建的蓝图类的名字,并且还要设置文件保存位置

打开"BP_MyObject",可以看到和基于Actor的蓝图类的不同之处是无法添加组件

而且也无法像基于Actor的蓝图类那样直接拖入场景

三、在UObject中使用变量和函数

我们可以在MyObject.h中申明构造函数,以及一个浮点型变量和一个函数。通过BlueprintReadWrite标记浮点变量在蓝图中可读可写,通过BlueprintCallable编辑函数在蓝图中可以被调用。

在MyObject.cpp中,在构造函数中初始化了类的成员变量MyFloat为0

编译后,我们可以"BP_MyObject"中搜索并使用变量和函数

也可以通过设置"显示继承的变量"来直接获取父类中的变量

此时我们就可以在图表中使用UObject类中的变量和函数了

为了方便在图表中搜索变量和函数,我们可以在定义变量和函数的时候加个分类:

编译后,当我们再在图表中搜索变量和函数时,可以发现它们都被分类了

接下来我们可以让函数打印一句话,我们可以在源文件中添加如下代码:

由于继承于Object类的蓝图类"BP_MyObject"无法在场景中直接实例化,因此为了输出打印,我们可以先新建一个继承于Actor的蓝图类,这里命名为"BP_MyActor"

当"BP_MyActor"实例化后,再构建"BP_MyObject"对象并调用方法

运行后在输出日志中可以看到打印信息。

参考视频:

在蓝图中使用UObject_哔哩哔哩_bilibili

相关推荐
努力学习的小廉3 小时前
UE5 入门系列(三):核心框架类全解析
ue5
平行云1 天前
建筑BIM/3D可视化轻量级实时评审与分享方案
unity·ue5·3dsmax·实时云渲染·云桌面·云游戏·建筑bim
BugPhysician6 天前
影之刃零首发UE崩溃排查:着色器缓存、虚拟内存与驱动版本
ue5·影之刃零·影之刃零报错·影之刃零进不去·ue崩溃·ue引擎崩溃·ue5引擎崩溃
电子云与长程纠缠8 天前
UE5魂系游戏开发教程05
开发语言·学习·游戏·ui·ue5
fanfan_hongyun8 天前
UE5.1 蓝图调用C++方法
ue5
易知微EasyV数据可视化8 天前
UE5 中接入 GDAL:从vcpkg编译到插件打包
ue5
努力学习的小廉8 天前
UE5入门系列(一):环境搭建.md
ue5
fanfan_hongyun8 天前
【UE5.1 创建C++文件】
c++·ue5
努力学习的小廉8 天前
UE5 入门系列(二):编辑器基础操作速通
ue5·编辑器
Дерек的学习记录9 天前
Unreal Engine 5:开关门实现和流程控制
开发语言·学习·ue5