UE4扩展编辑器的方法

就只是想扩展下编辑器而已……这在unity很方便,有专门的UnityEditor命名空间,ue4里就有点麻烦了。网上找到的很多中文资料就贴你妈一堆依赖关系也没有,变量定义也没有,什么都没有的代码。所以屁用都没有。

当然还是有些资料其实说得很完整的,怪我自己缺乏认知所以最开始没看懂那些看起来很复杂的。

总之,核心学习思路是,UE4官方的源码!

这是因为,在UE4里,“菜单栏扩展”,“菜单栏子项扩展”和“编辑器工具栏扩展”,是类似的操作。学会了其中一个的编写方式就能学会其它的。

而UE4自带的添加插件的功能,其中就有可以在工具栏中直接显示的“编辑器工具蓝按钮”插件。所以,就以它的源码为研究学习的对象吧!

最后发现写得比较完整的参考资料:

通过插件构建编辑器扩展: https://blog.csdn.net/qq_40947718/article/details/115540706https://www.cnblogs.com/zsymdbk/p/14720424.htmlhttps://blog.csdn.net/u013412391/article/details/107891152

没有通过插件,但是总体和插件过程相似的编辑器扩展脚本: https://www.bilibili.com/read/cv5529328

过程写得不清不楚但具体细节还是有用的:https://zhuanlan.zhihu.com/p/129708783

虚幻4社区点醒我的QA:https://answers.unrealengine.com/questions/587450/view.html

添加“编辑器工具栏按钮”插件

 

步骤就是Edit - Plugin - create,我是中文版懒得切换英文了,大概就是这几个意思的英文。“编辑 - 插件 - 创建插件”,选择图中所示的“编辑器工具栏按钮”。随便取你记得住的名字。

然后,ue4就会帮你添加插件的代码到项目的目录下了。过程有点慢,耐心等待后,会发现大致如下图的文件结构。

 

 

是啊,我的工程叫LearnWwise,但却是学UE4的一篇文章。是啊,我虽然在写怎么加编辑器扩展,但插件名字却是Slate相关的东西。

我的插件名叫MySlateTest2,总之会在非引擎部分的Games文件夹的Plugins中,添加一个插件名的文件夹,Resource里面可以放你会用上的按钮图标,重点在于Source和.uplugin文件。

后者打开会发现它是经典的虚幻4的各种声明,记录这个“小项目”的属性。

前者包含了三种文件和一个标配Build.cs,{PluginName}Commands的文件用来继承TCommands类,注册插件行为、绑定Style文件。{PluginName}文件包含了插件行为和位置的定义。{PluginName}Style则有插件外观的定义。

 

{PluginName}.cpp

(暂时先写到这儿了,其实已经可以自己开始按上面操作新建一个出来看源码了)

posted @   零楚L  阅读(722)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示