【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

相关推荐
1204157137 肖哥10 小时前
UE5.7 场景打光管线流程_【雪山】
ue5
weixin_4046793111 小时前
虚幻5 替代小白人角色的完整逻辑
ue5
1204157137 肖哥3 天前
UE5.7 灯光详解
ue5
狂云歌4 天前
AI写UE的3Dgame
人工智能·3d·ue5·游戏程序
日月云棠8 天前
UE5源码分析之Editor——Blutility模块全面分析
ue5
日月云棠8 天前
UE5源码分析之Editor——BehaviorTreeEditor模块全面分析
ue5
日月云棠8 天前
UE5源码分析之Editor——AssetTagsEditor模块全面分析
ue5
远离UE49 天前
UE5 显存 虚拟内存 深入学习笔记
笔记·学习·ue5
日月云棠9 天前
UE5源码分析之Editor——AnimationSettings模块全面分析
ue5
远离UE410 天前
UE5 SF_VertexShader 如何使用
ue5