使用蓝图编写编辑器脚本

对在编辑器中使用蓝图自动化内容制作任务的方法进行讲解。

Windows
MacOS
Linux

蓝图不仅适用于在项目中创建运行时gameplay。同时还是一类极为有效的工具,可虚幻编辑器中与项目内容交互。可在编辑器中按需运行蓝图图表,来使用资源,在关卡中布局内容,在编辑器UI中触发操作,或使用自定义UI面板扩展编辑器。

本页将对使用蓝图进行虚幻编辑器脚本编写和自动化的相关基础知识进行介绍。

在以往的虚幻引擎版本中,用于在编辑器中运行的蓝图图表被称为 Blutility,即蓝图工具(Blueprint Utilities)的英文缩写。本次版本更新中仍有蓝图工具,但我们已对 编辑器工具控件编辑器工具蓝图 进行了标准化。

在编辑器中运行蓝图的选项

如决定在虚幻编辑器中运行蓝图图表,可通过几种不同方法设置和触发蓝图代码。

编辑器工具控件

编辑器工具控件是UMG控件,可在编辑器UI内的其他所有工具所用的同种可停靠面板中渲染此类控件。此方法最适用于打造功能丰富的UI来控制蓝图。可将UMG所有显示风格选项,与蓝图丰富的脚本编写控制结合使用。这是最灵活和最强大的选项,同时入门简单,推荐用于多数编辑器脚本编写工作。

欲了解创建编辑器工具控件并在编辑器中打开的方法详情,参阅编辑器工具控件

编辑器工具蓝图

编辑器工具蓝图是一种特殊类,专门用于符合以下条件的逻辑:仅在虚幻编辑器中运行,不在运行时运行,且无需自定义UI。

这些类的一个内置用例是支持 脚本化操作:即在关卡中右键点击Actor或在内容浏览器中右键点击资源时,在快捷菜单中触发的图表。

欲了解详情,请参阅脚本化操作

在编辑器中调用

在蓝图类中创建自定义事件或函数时,可在编辑器中将该事件或函数标记为可调用。若将该蓝图类的实例放置在关卡中并选中,可在 细节(Details) 面板中触发自定义事件或函数。此方法最适用于需同时在运行时和蓝图中处理蓝图。

欲了解详情,请参阅在编辑器中调用蓝图

启动对象

可将项目中的特定编辑器工具控件类和编辑器工具蓝图类辨识为启动对象。编辑器加载项目时将自动创建各启动对象的实例并调用预定义函数。此选项适用于加载项目后利用蓝图类固定执行某些操作,或将蓝图逻辑固定绑定到编辑器中处理项目内容时发生的事件。

欲了解详情,请参阅在编辑器启动时运行蓝图

访问纯编辑器蓝图节点

在允许时,涉及修改资源文件或使用虚幻编辑器UI的多数操作无法在游戏中运行。因此,只能在同为纯编辑器的蓝图类中访问此类纯编辑器功能,即在模块中定义且类型设为 Editor 的函数。

例如,若利用派生自可在运行时使用的父类(如基础 Actor 类)的蓝图类,蓝图编辑器的 编辑器脚本编写(Editor Scripting) 类别下将列出有限的函数集。但若创建派生自纯编辑器父类的编辑器工具蓝图、编辑器工具控件或普通蓝图类,将显示更多、更全面的可用函数集:

Actor类的编辑器脚本编写节点

EditorUtilityActor类的编辑器脚本编写节点

Actor类

EditorUtilityActor类

若已安装编辑器脚本编写插件,可在此处找到该插件公开函数,用于使用静态网格和其他资源类型。参阅编辑器脚本编写和自动化

编辑器工具子系统

启动时,虚幻编辑器将初始化专门用于管理编辑器脚本编写功能行为的子系统。例如,此子系统处理生成和清理如启动对象 等操作,并处理编辑器工具控件 的新编辑器面板的创建和销毁。

同时可在自己的C++或蓝图代码中使用编辑器工具子系统。例如,可获取编辑器工具子系统,并调用其 SpawnAndRegisterTab() 方法,以在编辑器UI中程序化打开新面板,此面板包含项目中编辑器工具控件类的实例。

欲了解子系统及在C++、蓝图和Python中访问和使用的方法详情,参阅编程子系统

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback