UE4 使用蓝图进行编辑器扩展
1. 蓝图扩展
1.1 窗口扩展-EditorUtilityWidget
在Content Browser中创建一个EditorWidget,可以右键Run运行该资源,运行后,它就会出现在EditorUtilityWidgets类别下;
可以在新创建的widget添加按钮等控件,然后执行一定的逻辑;
比如,打印关卡中选中的actor名称,或者打印内容浏览器中选中的asset名称,都可以使用相应的节点得到选中的对象,然后print即可;
1.2 在编辑器中调用蓝图
对于继承自Actor类的蓝图,可以在函数或事件的detail面板中勾选Call In Editor,就可以在编辑器中调用,不过函数是不能够带参数的;
1.3 脚本化操作-EditorUtilityBlueprint
在Content Browser下创建一个EditorUtilityWidget资源,根据是在内容浏览器还是在关卡视口或世界大纲视图中选择的actor上执行脚本化操作,可以选择两个父类:AssetActionUtility&ActorActionUtility
要创建该类的脚本化操作,可新建函数,或在该类的事件图表中新建CustomEvent节点,要勾选CustomEvent;
将操作限制为特定类
通过重写GetSupportedClass,则可以将操作指定给特定的类,如果选中的actor中无此类actor,则不会显示相应的脚本操作;
注意:若选中多个资产或Actor,则允许该行为:只要所选项目中 至少有一项 与 GetSupportedClass 返回的类匹配,快捷菜单中将显示脚本化操作。即使覆盖 GetSupportedClass 来限制操作处理的类,也无法保证运行操作时 仅 选择该类的实例。务必在实现蓝图图表时铭记此点。
动态输入
如果脚本操作的函数需要参数,那么在执行该操作时就会弹出输入值得窗口;
1.4 在编辑器启动时运行蓝图
官方文档:https://docs.unrealengine.com/4.27/zh-CN/ProductionPipelines/ScriptingAndAutomation/Blueprints/StartupObjects/
重写Run函数,会在启动时调用该事件;
如果一个对象希望启动时作为启动对象被调用,则需要在DefaultEditorPerProjectUserSettings.ini文件中添加如下代码:
[/Script/Blutility.EditorUtilitySubsystem]
StartupObjects=/Game/Folder/MyClass.MyClass
+StartupObjects=/Game/AnotherFolder/MyOtherClass.MyOtherClass
+StartupObjects=/Game/AnotherFolder/MyThirdClass.MyThirdClass
注意:多个对象的路径通过+号连接
重启之后,就可以在日志中看到相应的输出
可以在编辑器启动时绑定一些事件,比如对于导入的资源进行检测,可以在Run中使用GetImportSubsystem节点来绑定相应的导入事件;
UE4 使用蓝图进行编辑器扩展相关推荐
- Unity 编辑器扩展 场景视图内控制对象
http://blog.csdn.net/akof1314/article/details/38129031 假设有一个敌人生成器类,其中有个属性range用来表示敌人生成的范围区域大小,那么可以用O ...
- Unity编辑器扩展Texture显示选择框
学习NGUI插件的时候,突然间有一个问题为什么它这些属性可以通过弹出窗口来选中呢? 而我自己写的组件只能使用手动拖放的方式=.=. Unity开发了组件Inspector视图扩展API,如果我们要写插 ...
- Thinkphp编辑器扩展类kindeditor用法
一, 使用前的准备. 使用前请确认你已经建立好了一个Thinkphp站点项目. 1,Keditor.class.php和JSON.class.php 是编辑器扩展类文件,将他们拷贝到你的站点项目的Th ...
- unity shader 编辑器扩展类 ShaderGUI
这应该unity5才出的新功能了,今天看文档时刚巧看到了,就来尝试了一下. 效果如图: shader 的编辑器扩展分为2种方法: 是通过UnityEditor下的ShaderGUI类来实现的,形式比较 ...
- Unity编辑器扩展之EditorWindow
Unity编辑器扩展之EditorWindow 继承这个类的编辑器脚本可以用来创建一个编辑器窗口,类似Inspector窗口 若要在这个类中添加一些控件,可以使用GUI和GUILayout控件,还可以 ...
- Unity3D使用经验总结 编辑器扩展篇【转】
一个引擎,最重要的就是工具,工具除了提升开发速度,提供可视化操作环境以外,还带了容错功能. 它使得大家的工作局限在一定的范围内,比如一个变量的配置,或者是一些类型的选择. 使用编辑器,使得既使不太明白 ...
- Cocos Creator 编辑器扩展
来自 cocos creator 官方文档 扩展编辑器 Cocos Creator 提供了一系列方法来让用户定制和扩展编辑器的功能.这些扩展以包(package)的形式进行加载.用户通过将自己或第三方 ...
- Unity3D Editor 编辑器扩展3 Editor脚本
Unity3D Editor 编辑器扩展3 Editor脚本 环境:Unity2017.2 语言:C# 总起: 在编辑Unity项目的时候,总不可能避免的接触到Unity自身自带的Inspector参 ...
- Unity 编辑器扩展菜单
Unity 编辑器扩展菜单 目录 Unity 编辑器扩展菜单 一.MenuItem 特性 菜单栏扩展 1.创建多级菜单 2.创建可使用快捷键的菜单项 3.创建可被勾选的菜单项 4.检查菜单是否使用 5 ...
- Unity编辑器扩展——在Editor下动态添加监听事件
对于Unity下例如按钮这种我们可以为它的监听事件手动进行赋值 如果需要通过编辑器扩展来动态为这些监听事件赋值应该如何去实现呢? 首先需要确认的是这些监听事件必须要符合一定的规则才能添加上: 1.必须 ...
最新文章
- 【 FPGA 】FIR 滤波器结构和优化(二)之系数填充(Coefficient Padding)
- # 中小型网络构建-ACL
- OJ1114: 逆序(数组)(C语言)
- 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:概述
- 95-910-146-源码-FlinkSQL-Flink SQL中TableFunction使用分析
- 645. 错误的集合
- 如何分析一个“排序算法”?
- 克隆硬盘后进不去系统_升级系统盘,迁移系统其实很简单
- 微博中的长链接与短链接
- 算法导论 25.3 Johnson算法
- python 文件操作OS总结
- android 异常 android Removing unused resources requires unused code shrinking to be turned on.
- 【QT】利用QT做一个键盘检测的例子
- 为什么你读专业技术书逐渐焦虑,读不下去书怎么办?
- Unix/Linux编程:多协议服务器(TCP/UDP)-----DAYTIME
- 【一级讲解】不可思议唤来不可思议β——数学排列组合
- 企业安全建设丨标准化建设之网络安全应急响应浅析
- win10神州网信政府版系列设置(麦克风、摄像头、相机、屏幕保护时间)
- kotlin 实战之面向对象特性全方位总结
- delphi7源码编译安装oracle access控件ODAC9.3.8
热门文章
- 有没有好的公文写作范文素材,求助各位网友?
- 凤凰系统(Phoenix OS)PC版安装,电脑上体验功能丰富的安卓系统
- 用于文本去重(相似度计算)的Simhash算法学习及python实现(持续学习中)
- 【从0开始音乐demo的制作:预计耗时15小时(二)】简单的页面
- 【Android】我用 ARCore 做了一个 1:1 的高达
- matlab 维纳滤波器算法实现
- RabbitMQ安装及使用教程
- simulink如何更新版本的文件(mdl或slx),How to load models created with a newer version of Simulink
- ASM文件类型和模板
- 二维码的纠错码原理及如何纠错(1)