1.虚幻引擎架构
1.1虚幻引擎模块(Modules)
官方文档:虚幻引擎模块 | 虚幻引擎 5.4 文档 | Epic Developer Community (epicgames.com)
模块(Modules) 是 虚幻引擎(UE) 的软件架构的基本构建块。Module分为引擎模块,项目模块,插件模块.
注意:
1.要控制模块的加载方式和时间,请在 .uproject 或 .uplugin 文件中为你的模块添加配置信息。这包括模块的名称、类型、兼容平台和加载阶段。模块加载时机先后顺序的不同有可能导致模块之间产生问题导致循环依赖。
2.不同模块使用的环境不同:Runtime适用于大部分时候,可以以一个程序运行和在编辑器中进行运行,但不能应用在Program(独立程序)中,而Editor只允许在编辑器下运行使用。
3.严禁游戏主模块中包含Editor模块,这会导致工程打包失败,此模块在打包的时候会被剥离出来。
1.2虚幻引擎插件(Plugin)
官方文档:虚幻引擎插件 | 虚幻引擎 5.4 文档 | Epic Developer Community (epicgames.com)
在虚幻引擎中,插件是开发者可在编辑器中逐项目启用或禁用的代码和数据集合。插件可添加运行时gameplay功能,修改内置引擎功能(或添加新功能),新建文件类型,及使用新菜单、工具栏命令和子模式扩展编辑器的功能。使用插件可扩展许多现有虚幻引擎子系统。
引擎类型(插件配置文件应使用和其他配置文件相同的规则放置):
引擎插件: [PluginName]/Config/Base[PluginName].ini
游戏插件: [PluginName]/Config/Default[PluginName].ini
GameFeature(特殊的项目插件)
注意:
- Plugin(插件)应至少包含一个模块,它将聚合多个模块,定义了模块的LoadingPhase(加载时机)、(Type)使用类型、作者等信息。
- 插件通常情况下只允许引用引擎的内容(含引擎插件和引擎模块),而GameFeature这个特殊插件可以引用项目的内容,而普通插件不允许。
- 插件之间需要遵循一定的规则相互依赖,而模块之间不能相互依赖。
1.3创建空白C++项目示例
1.创建C++项目示例,项目位置尽量更改到其他盘上,项目名称不要包含中文以免后期项目报错
2.项目文件框架
Source文件夹可在虚幻编辑器展示
.sln文件可在虚幻编辑器间接打开,也可直接打开
编辑器左上角Tools->Open Visual Studio
注意:在编辑器创建的类如果报错或者为空类无法在编辑器目录C++类文件处查看,但可以在编辑器打开总和代码进行查看代码。
3.创建UEC++类
有三种方式创建:
(1)编辑器中创建
编辑器左上角Tools->New C++Class->选择父类进行继承/在All Chasses中选着父类
注意:为避免后期类文件修改存放地址而在#include中采取绝对地址,我们可以在build.cs里面进行配置包含路劲来避免这个问题。
(2)在Windows文件夹手动创建并更新项目总代码
在Windows文件夹里打开source文件在对应的目录里创建文本文件,在后期将文本文件改名成.h和.cpp文件,然后再虚幻编辑器更新工程代码文件。
(3)再IDE中进行编辑
在source文件夹下的项目添加虚幻类。