介绍
实验版本:4.25
游戏开发过程中,有时候需要自定义自己的资源,并通过自定义的编辑器进行编辑。这时候就需要参考引擎中的蓝图、动画资源、音频、行为树等资源的编辑是如何实现的。
这里通过创建一个StateMachine的自定义资源来说明,最终实现跟动画状态机类似的效果。
创建相应插件
建议新建一个插件,方便项目之间移植。插件需要包含运行时模块和编辑器模块。新建一个StateMachine的插件,目录结构如下:
// StateMachineModule.h:
class FStateMachineModule : public IModuleInterface
{
public:
/** IModuleInterface implementation */
virtual void StartupModule() override {
}
virtual void ShutdownModule() override {
}
};
// StateMachineEditorModule.h:
class FStateMachineEditorModule : public IModuleInterface
{
public:
/** IModuleInterface implementation */
virtual void StartupModule() override {
}
virtual void ShutdownModule() override {
}
};
添加自定义资源类
在运行时模块下添加StateMachine类,继承自UObject,作为需要编辑的自定义资源类。
//StateMachine.h:
UCLASS(BlueprintType)