UE·通过蓝图添加工具栏按钮
1 min to read
一些纯蓝图添加工具按钮的方法!
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
中添加下述变量——
-
Menu
-
Type: Name
-
Value: LevelEditor.LevelEditorToolBar
-
-
Section
-
Type: Name
-
Value: MyTools
-
-
MenuEntry
-
Type: ToolMenuEntry
-
Value:
-
Name: Mytools
-
Type: ToolBarButton
-
UserInterfaceActionType: Button
-
-
-
Label
-
Type: Text
-
Value: MyTool
-
-
ToolTip
-
Type: Text
-
Value: Open MyTool
-
-
Icon
- Type: ScriptSlateIcon
-
OptionWidget
-
Type: EditorUtilityWidgetBlueprint
-
Value: WBPU_ToolWidget
-
-
OptionWidgetID
- Type: Name
蓝图逻辑
蓝图逻辑如下:
注意
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
即可。