引擎版本为 5.1

EditorUtilityBlueprint 相关基类和使用方法
UEditorUtilityObject
- EditorUtility的基类,只有一个Run()方法,用蓝图实现,重写Run方法后可以右键调用。
IEditorUtilityExtension
- Interface,代表这个类是Editor中可用的蓝图功能扩展,没有定义任何方法,仅代表一个实现关系。
在leveleditor右键菜单中会去搜索所有继承该Interface的类,然后把可调用的方法列在里面,比如actoraction。
UActorActionUtility
- 继承于UEditorUtilityObject和IEditorUtilityExtension,其中声明的函数会显示在选中场景actor的右键菜单中,通过覆写GetSupportedClass函数来控制在哪些对象的右键详情中出现,在函数中可以添加参数。
UAssetActionUtility
- 同上,其中实现的函数会出现在Content中资源的右键菜单中,通过覆写GetSupportedClass函数来控制在哪些对象的右键详情中出现。
- 测试发现参数界面的slate没有支持数组
UEditorUtilityWidget
- 带有编辑器界面,功能和上面的类似,可以选择注册到顶部Tools的菜单中。
一些Editor函数记录
-
主要接口是EditorScripting下的函数
-
AssetTool.CreateAsset,创建Asset,但是这个函数只可以创建数据资产,如果创建Actor的子类会在内存中形成一个空包EmptyPackage,也无法保存
-
GetSelectionSet 获取场景选中的对象
-
GetSelectionAsset 获取Content中选中的资源