除了虚幻4官方为我们提供的几种创建插件的模板类型,我们还可以根据自己的需要来定制化一些插件类型,这里介绍的就是一种自定义资源类型的插件的创建方法。
基本的插件类型
- Blank:原始的插件,只提供最基础的目录与文件创建,可以是任何内容插件。
- Content Ony :只能在Content目录的插件,通常是给美术资源之类做的插件。
- Blueprint Library:蓝图库,如其名,就是一些比较独立蓝图库,封装好给不同游戏用,比如A星寻路算法
- Editor Toolbar Button:创建一个在编辑器上面的按钮插件,创建在如下图位置。
- Editor Standalone Window:独立窗体,创建一个独立界面的编辑器,通常和Slate搭配使用。
- Editor Mode:创建一个在下面位置的插件
除了上面的官方自定义的插件类型,我还可以自定义一些其他的类型,我就来介绍一种自定义插件类型
自定义资源类型插件创建过程
要在虚幻4创建一个自定义的编辑器资源类型,其中创建的过程:
数据类
1 | UCLASS() |
原始类
1 | UCLASS() |
1 | UCLASS() |
实现两个方法:
1 | UGenericGraphFactory::UGenericGraphFactory() |
1 | UObject* UGenericGraphFactory::FactoryCreateNew(UClass* Class, UObject* InParent, FName Name, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) |
创建了工厂类之后,UE4就会自动去识别这个资源类了,但是这个资源类还有很多的细节没有实现。
注意:继承的Factory类是UnrealEd模块的,所以在.cs配置文件要添加UnreaEd模块
创建Actions操作
1 | class FAssetTypeActions_GenericGraph : public FAssetTypeActions_Base |
注册资源文件进行注册
1 | /* 模块开始时调用 */ |
设置缩略图
1 | void FOrfeasPluginModule::StartupModule() |
使用IPluginManager.h头文件你需要在你的插件的依赖中添加 “Projects” 依赖
设置过滤器与分类
在注册资源类型的时候就设置了
1 | // 初始化一种资源类型 |
在打开资源的事件中,我们可以给打开事件绑定一个自定义的资源编辑器
绑定了一个自定义的编辑器类型,你需要什么样的编辑器就需要你自己去自定义了,这里主要针对自定义资源插件,就不详细解释自定义编辑器的实现了