【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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/697188.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware 不能拍摄快照

问题: 拍摄快照后,会出现这个弹窗,然后虚拟机就直接自动退出了,还会弹出一个框: 解决方法: 我用的是 window11 和 VMware16.0.0 这是因为VM16与window11,二者之间版本不兼容问题,可…

金三银四面试题(二十七):适配器模式知多少?

什么是适配器模式 适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将一个类的接口转换为客户期望的另一个接口。通过适配器,原本不兼容的接口可以一起工作,从而提高系统的灵活性和可扩展性。 关键元素&…

阿里天池基于LLM智能问答系统学习赛排到第一名了

阿里天池基于LLM智能问答系统学习赛排到第一名了 0. 引言1. 05-09分数排到第一名了 0. 引言 5.1 假期期间发现阿里天池基于LLM智能问答系统学习赛正好是我工作上用到的技术,就抱着玩一玩的心里挑战了一下。 这个比赛包含了text_comprehension(RAG&…

小米/红米手机刷机错误:Missmatching image and device

报错: Missmatching image and device。 场景: 该解决方法只适用于手机是通过EMT解锁的。 解决方法: 打开刷机脚本,并注释检测脚本: 刷机脚本根据不同的刷机方式,选择编辑不同的脚本,例如&am…

电机及FOC算法介绍

一.电机概述 1.电机的简介 电机是一种可以在电能和机械能的之间相互转换的设备,其中发电机是将机械能转换为电能,电动机是将电能转换为机械能。发电机的主要用于产生电能,用途单一,但是电动机主要用于产生机械能,用途…

法国签证照片尺寸怎么调整?图片调整尺寸的方法介绍

在我们的平时生活中,个人证件照是我们必不可少的身份证明,它是一种具有严格尺寸和比例要求的特殊照片,对于一些特定的场合,比如我们在申请法国签证的时候,需要把照片调整到规定的大小尺寸,那么,…

物联网设计竞赛_2_Jetson Nano中文输入法配置安装vscode

1、装ibus和ibus依赖框架 sudo apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 2、启动ibus im-config -s ibus 3、安装拼音引擎 sudo apt-get install ibus-pinyin 4、重启linux系统 shutdown -r now 5、进入ibus设置添加中文 ibus-setup 插入中文p…

【Gitlab远程访问本地仓库】Gitlab如何安装配置并结合内网穿透实现远程访问本地仓库进行管理

文章目录 前言1. 下载Gitlab2. 安装Gitlab3. 启动Gitlab4. 安装cpolar5. 创建隧道配置访问地址6. 固定GitLab访问地址6.1 保留二级子域名6.2 配置二级子域名 7. 测试访问二级子域名 前言 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具&#xf…

数学老师们

小学三年级之前的数学老师,包括学前班给过我零分的数学老师,模样、姓名都不记得了。能回忆起来的最早的数学老师是四、五年级的李成娥老师。 李老师四十岁左右,短发,温和、爱笑,尤其是在班主任张老师的衬托下&#xf…

vue从入门到精通(一):初始Vue

一,Vue是什么 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代…

数组 | 双指针经典题目

Leetcode977:有序数组的平方 . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/squares-of-a-sorted-array/d…

STC8增强型单片机开发day04

热敏电阻 NTC(Negative Temperature Coefficient)是指随温度上升电阻减小、具有负温度系数的热敏电阻现象和材料 原理图 ADC功能引脚ADC0P1.0ADC1P1.1ADC2P5.4ADC3P1.3ADC4P1.4ADC5P1.5ADC6P1.6ADC7P1.7ADC8P0.0ADC9P0.1ADC10P0.2ADC11P0.3ADC12P0.4ADC13P0.5ADC14P0.6 温度…