当前位置: 首页 > ds >正文

虚幻5入门教程:如何在虚幻5中创建一个C++的Plugin

虚幻引擎版本: Unreal Engine 5.6
编辑器: Rider For Unreal

文章目录

  • 0. 一点先导知识
    • 0.1 虚幻引擎的Plugin是什么东东?
    • 0.2 哪些东东可以整理成为Plugin?
  • 1. 如何在虚幻5中创建一个C++的Plugin
    • 1.1 准备一个UE5的C++项目
      • 1.1.1 启动引擎
      • 1.1.2 创建C++项目
      • 1.1.3 创建C++的Plugin
      • 1.1.4 为Plugin添加C++代码
  • 2. C++ Plugin的使用
  • 3. 小结

0. 一点先导知识

0.1 虚幻引擎的Plugin是什么东东?

虚幻引擎中的 ‌Plugin(插件)‌ 是扩展引擎核心功能的模块化组件,它是不依赖于某个主程序(Game)的功能模块,其最大的意义就在于可以在不同的项目中进行复用,使用虚幻引擎开发游戏项目,经常会使用虚幻提供的Plugin以及第三方Plugin,如果你是一个长期的虚幻引擎使用者,那么把你常用的代码甚至是资源整理成为一个或多个Plguin,对于功能在不同项目中迁移,以及提高开发效率是非常必要的。

0.2 哪些东东可以整理成为Plugin?

理论上讲,你所有的常用游戏资源(模型,材质)、蓝图模块以及C++代码都可以整理成为Plugin

1. 如何在虚幻5中创建一个C++的Plugin

接下来我们将创建一个C++的Plugin,在此过程中你也会了解其它类型Plugin的创建方式,因为相对来讲C++的Plugin创建是最复杂的。好!让我们开始今天的教程吧!

1.1 准备一个UE5的C++项目

我们需要在一个UE项目中创建Plugin,本文中使用的虚幻版本是5.6,如果你使用其它版本虚幻引擎,方法基本上是一样的。因为我们要创建一个C++版本的Plugin,最好的方式是从一个C++虚幻项目开始。

1.1.1 启动引擎

在这里插入图片描述

1.1.2 创建C++项目

注意: 这里的CPPPlugin是我们的项目名称,当然你也可以用其它的命名

在这里插入图片描述

简单查看一下我们的项目内容
在这里插入图片描述

以下(红框中部分)是当前项目中代码的内容
在这里插入图片描述

1.1.3 创建C++的Plugin

在编辑器中点击Edit>Plugins

在这里插入图片描述

创建以恶搞Blank类型的Plugin
在这里插入图片描述

我们将这个Plugin命名为RPGCharacter,在下面的Descriptor Data部分可以添加一些插件的说明,这部分内容,在插件创建成功以后也是可以修改的
在这里插入图片描述

等待编译结束
在这里插入图片描述
编译结束以后,UE编辑器一般会自动关闭,我们先看一下当前代码的内容,绿色框中的部分就是新生成的RPGCharacter插件内容

在这里插入图片描述

再次通过Rider运行项目
在这里插入图片描述

项目启动以后我们现在Content Browser中勾选显示C++和Plugin内容的选项
在这里插入图片描述
然后就可以在Content Browser看到我们的插件RPGCharacter的文件夹了
在这里插入图片描述

此时在编辑器的Plugins中,我们也可以找到这个插件,并看到它已经被启用了,此时我们可以继续更改它的说明内容

在这里插入图片描述
在这里插入图片描述

1.1.4 为Plugin添加C++代码

接下来,我们添加一写C++代码,在本例中,我们想为自己游戏常用的Character功能配置一个基类。和添加普通的C++代码类似,直接在Tools中点击New C++ Class

在这里插入图片描述

选择Character基类

注意: 不要直接点击Create Class,在新的编辑器中,为Plugin添加代码还需要一个步骤,所以我们选择Next

在这里插入图片描述

为新添加的Character子类命名为RPGCharacterBase,注意一定要将后面的下拉列表选为RPGCharacter(Runtime)即为RPGCharacter插件添加代码,这是和在游戏中主体中添加C++代码唯一的不同,然后点击Create Class

,在这里插入图片描述

这时候回到Rider编辑器中我们就可以看到新生成的C++代码了
在这里插入图片描述

再次运行项目
在这里插入图片描述

编辑器再次启动以后我们可以看到我们新生成的RPGCharacterBase类,它就想系统自带的其它Actor类一样
在这里插入图片描述

我们可以直接把它拖拽到场景中,当然也可以通过蓝图派生它再使用。虽然它还没有什么功能,但一个C++ Plugin的基本框架已经诞生了
在这里插入图片描述

2. C++ Plugin的使用

我们在浏览器中看一下当前项目的目录,在项目根目录下的Plugins中,可以看到RPGCharacter插件的全部内容

在这里插入图片描述

我们把Plugins中的RPGCharacter文件夹拷贝到其它虚幻5.6项目的Plugins文件夹下就可以使用这个插件了(当然有的时候我们需要重新编译一下)
在这里插入图片描述

在这里插入图片描述

3. 小结

以上就是创建一个C++ Plugin的基本方法

http://www.xdnf.cn/news/16150.html

相关文章:

  • Zabbix 6.0+ 使用官方模板监控 Redis 数据库的完整配置指南
  • Linux 内核不能直接访问物理地址,必须通过虚拟地址访问。
  • Java+Vue构建的固定资产内控管理系统,融合移动端便捷与后台管理强大功能,模块完备,提供全量源码,轻松实现资产智能管控
  • 【uboot/kernel1】启动流程,环境变量,内存,initramfs
  • 构建智能视频中枢--多路RTSP转RTMP推送模块在轨道交通与工业应用中的技术方案探究
  • 知识库搭建之Meilisearch‘s 搜索引擎 测评-东方仙盟测评师
  • 二分查找-852.山峰数组的峰顶索引-力扣(LeetCode)
  • 【coze扣子】第1篇:coze快速入门
  • 【Spring AI 0基础教程】1、基础篇 环境搭建 - 智能天气预报助手
  • csp基础知识——递推
  • OpenCV快速入门之CV宝典
  • axios统一封装规范管理
  • oracle查询数据结构滤涉及的sql语句
  • Oracle 12c 创建数据库初级教程
  • 消息队列学习
  • .net 警告【代码 CS1998】此异步方法缺少 “await“ 运算符,将以同步方式运行。
  • VRRP技术
  • 基于springboot的医院管理系统(源码+论文+开题报告)
  • AWS RDS 排查性能问题
  • 【AI总结】网线技术演进史:从语音电缆到40Gbps的蜕变之路
  • 7.22总结mstp,vrrp
  • Android perfetto 工具使用
  • 浅谈——游戏中的各种配置格式
  • Excel file format cannot be determined, you must specify an engine manually.
  • 【音视频协议篇】RTMP协议
  • 一、Vue概述以及快速入门
  • [IMX][UBoot] 16.Linux 内核移植
  • 智算中心光纤线缆如何实现自动化计算?
  • 初识卷积神经网络CNN
  • (12)机器学习小白入门YOLOv:YOLOv8-cls 模型微调实操