在UE中可以使用EditorUtilityWidget创建编辑器面板工具,方便平时的开发。在UE4中使用编辑器UI需要开启对应插件,而UE5中则默认启用,下面就来学习一下。
1.UI创建
1.1.在Content Browser中右键,找到Editor Utilities即可创建编辑器工具。
其中Editor Utility Blueprint为一些编辑器蓝图扩展,较为灵活,不在这次的讲解范围内。
1.2.创建一个Editor Utility Widget对象,双击打开,设置UI编辑状态下的分辨率,方便编辑:
设置后如下:
1.3.增加UI控件对UI内容进行编辑,例如该示例,外层可以套一个Scroll Box方便滑动,内部嵌套若干Vertical Box,每个Vertical Box内分别是不同功能的GUI内容。
注意:将Text控件放置于Image或者Button层级内是一种做法,或者将两者都放入Overlay控件层级内,也是一种做法。
1.4.点击UI中创建的按钮,这里演示一个检查所有选择的对象,是不是被人修改了缩放的功能:
2.蓝图部分
2.1 制作编辑器工具时,最好是加上Undo代码块,UE中Undo对应的蓝图节点分别是Begin Transaction、End Transaction,当然也有针对对象创建的其他类型Undo,但常见的就是这2个,加入Undo后蓝图如下:
2.2.因为要编写一个检查是不是有人动了Scale值的功能,我们通过Editor Actor SubSystem拿到当前选中的所有Actor,左边连入节点是Begin Transaction.最后通过一个Show Message Dialog节点,弹出弹窗:
2.3.编写完毕后右键编辑器蓝图工具的图标,点击Run Editor Utility Widget启动该编辑器面板即可。