UE·通过蓝图添加工具栏按钮

一些纯蓝图添加工具按钮的方法!

Step 1 工程启动时调用蓝图

创建Editor Utility Blueprint,选择EditorUtilityObject类。命名为BPU_TutoStartupHook

右键复制上述EUB的引用。

在config文件夹创建DefaultEditorPerProjectUserSettings.ini,添加下述路径,以告知引擎在启动工程时运行该EUB。StartupObjects的值即上述复制的引用路径(只需引号内的路径)。

[/Script/Blutility.EditorUtilitySubsystem]
StartupObjects="/Game/AAA/BPU_TutoStartupHook.BPU_TutoStartupHook"

Step 2 创建工具面板

创建Editor Utility Widget,命名为WBPU_ToolWidget

在成功添加工具栏按钮后,点击该按钮会弹出此工具面板。

Step 3 添加工具栏按钮

声明变量

BPU_TutoStartupHook中添加下述变量——

蓝图逻辑

蓝图逻辑如下:

注意

1 Menu变量的值

这个值定义了按钮添加到什么位置。

如果想要在Toolbar一栏添加按钮,则此值为LevelEditor.LevelEditorToolBar.User

可以在DefaultEditorPerProjectUserSettings.ini中添加如下内容。开启Enable Menu Editing选项,可看到所有UI面板的各个分区出现一个齿轮小按钮,点击后可以看到当前分区的名称,即需要填写到Find Menu函数的值。

[/Script/UnrealEd.EditorExperimentalSettings]
bEnableEditToolMenusUI=True

注意不同的分区支持的按钮类型不同,也可能有分区不支持通过此方式添加按钮。

例如LevelEditor.LevelEditorToolBar.User对应的MenuEntry的Type可以是ToolBarButton,但LevelEditor.MainMenu.Tools的就不能用这个而是要改成MenuEntry。

2 调用函数的路径

set string command调用定义了点击按钮调用的函数。

注意路径中KISMETEVENT 末尾的空格和 OpenWidgetOptions开头的空格!

3 设置Icon

打开Window->Developer Tools->Widget Reflector。然后Atlases->Display Texture Atlases。

选一个icon,把icon的信息填到Icon下。注意StyleSetName,暂时不明什么含义,只是说大多数情况下填EditorStyle即可。

参考

  1. 推上一个比较完整的教程

  2. 主要参考,但有些步骤不全