插件是开发者可在编辑器中逐项目启用或禁用的代码和数据集合。插件可添加运行时gameplay功能,修改内置引擎功能(或添加新功能),新建文件类型,及使用新菜单、工具栏命令和子模式扩展编辑器的功能
含有代码的插件包含Source文件夹。此文件夹将包含一个或多个目录,其中包含插件的模块源代码。注意:插件常包含代码,但并非必要条件。参见插件中的代码章节,了解更多信息。
含代码的插件拥有包含该插件编译后代码的 Binaries
文件夹,而临时版本产品文件将另存在插件目录中的 Intermediate
文件夹中。
插件可拥有自己的Content文件夹,其中包含特定于该插件的资源文件。参见插件中的内容章节,了解更多信息。插件配置文件应使用和其他配置文件相同的规则放置:
引擎插件:[PluginName]/Config/Base[PluginName].ini
游戏插件:[PluginName]/Config/Default[PluginName].ini
为便于查找插件,须将其放置在项目中或引擎本身中的插件搜索路径。
插件类型 |
搜索路径 |
---|---|
引擎 |
/[UE4根目录]/Engine/Plugins/[插件命名]/ |
游戏 |
/[项目根目录]/Engine/Plugins/[插件命名]/ |
也可将插件整理到基础Plugins文件夹下的子目录中。引擎将扫描基础Plugins文件夹下的所有子文件夹,查找要加载的插件,但不会扫描已找到插件下的子目录。
虚幻引擎通过在磁盘上搜索 .uplugin
文件来查找插件。将此类文件称为 插件描述文件。其是提供插件相关基本信息的文本文件。运行此类程勋时,引擎、编辑器和 UnrealBuildTool(UBT)将自动发现并自动加载插件描述文件。参见插件描述文件章节,了解创建和自定义此类文件的方法。
生成Visual Studio或Xcode的项目文件时,含有 Source
文件夹(包含 .Build.cs
文件)的插件将被添加到项目文件,以便导航到其源代码。编译游戏项目时,UBT将自动编译此类插件。
插件可含有任意数量的模块源目录。多数插件仅有一个模块(但可创建多个模块,例如插件包含纯编辑器功能时),及游戏期间要运行的其他代码。
插件源文件的大部分布局与引擎中其他C++模块相同。
在模块的 Source
目录(或其子目录)内,插件可在标头文件中声明新反映的类型(UCLASS
、USTRUCT
等)。引擎的构建系统将检测此类文件,并按需要生成代码支持新类型。需遵守C++模块中使用 Uobjects
时的一般规则,例如在模块的源文件中包含生成的标头文件和模块 generated.inl
文件。
课程持续更新中...