Appearance
自定义UE工具栏
创建
右键资源浏览器的空白处,选择工具蓝图
输入menu
,选择第二个选项,也就是EditorUtilityToolMenuEntry
配置
点开创建好的编辑器工具蓝图,点亮类默认值,右侧的数据
一栏即是可进行配置的地方。
注意,5.6版本是位于此处。之前的版本可能位于其他地方
然后,创建函数或者自定义事件,将这个工具添加到目标位置。如下图所示,事件名或函数名必须是Run
,这是引擎规定的。然后后面接一个添加条目,用于将这个工具添加到目标位置。
这个添加的位置可以通过输入指令ToolMenus.Edit
进行查看。已经开启菜单路径查看后,输入带0参数的指令,如:ToolMenus.Edit 0
,会关闭这个指令功能
输入后会有多出来的按钮。点击这些按钮即可知道哪个位置有什么,名字是什么。
下拉查看别名
编译并运行
这个工具的运行除了要在蓝图里编译以外,要在资产浏览器中执行一下才能看到效果。
菜单栏上的,一般会在子菜单中写功能;工具栏上的,直接点击就有功能。实现逻辑的时候要注意这一点。
执行功能
要写执行功能的逻辑,要重载执行函数
配置子菜单
再创建一个(或复制一个)工具菜单,如下图一样设置名称。就是要在菜单位置添加父级工具蓝图的名称。
注意,是数据里的命名,不是你创建的蓝图的名称!!!
我的父级蓝图名称是ShowHello
,所以子级菜单为MainFrame.MainMenu.ShowHello
。
插件安装
一般来说看不出按钮的名称。当我们想用引擎内部自带的按钮时,我们需要获取名称才行。这时就需要一个免费插件来帮助我们。
到fab.com这个网站,搜索slate style browser
,添加到库,安装到引擎里。
然后在引擎里启动插件。启动后找到插件
从左往右第二列带有name的列,就是各种按钮的名称。
图标设置
在想要的行上右键鼠标,然后复制第一个。
设置图标名称。FName函数里的放到类型里,后面一长串是图标的名称。
点击编译,成功的话就能看到图标了
自启动
目前的工具在每次虚幻引擎启动时并不会自动加载。我们需要配置一下。
在项目目录下的Config里创建DefaultEditorPerProjectUserSettings.ini
文件。
文件内容如下:
[/Script/Blutility.EditorUtilitySubsystem]
+StartupObjects=/Game/EditorTools/ET_MenuTest.ET_MenuTest
这里注意,红框内要替换成你自己创建的工具蓝图的引用路径。引用路径的格式为:/Game/xxx/xxx.xxx
链式自启
一般来说要配置多个工具的路径。但也可以在一个工具里添加多个工具。
图中所示的是我的主工具蓝图,这里添加了菜单条目对象,后面跟着从类创建对象的节点,然后把这个对象也添加。