事件轨道

事件轨道支持创建在专用Sequencer蓝图层中编写脚本的自定义事件。

Windows
MacOS
Linux

在Sequencer中,你可以在要执行 蓝图脚本 功能的序列中定义帧。这是使用 事件轨道(Event Track) 实现的。

本指南将概述事件轨道,包括创建方式,访问导演蓝图,以及你可以创建的事件类型。

先决条件

创建

要创建事件轨道,请点击Sequencer中的 轨道(+)(Track (+)) 下拉菜单,找到 事件轨道(Event Track),然后选择触发器(Trigger)重复器(Repeater)事件类型。

创建事件轨道

事件轨道还可以在 Object绑定轨道 下创建,这会将事件绑定到该对象

创建事件轨道Actor

创建事件轨道后,你可以创建额外的事件 分段,方法是点击该事件轨道上的 分段(+)(Section (+)) 下拉菜单,然后选择事件类型。

添加更多事件轨道

添加事件时,你可以选择添加 触发器(Trigger)重复器(Repeater) 类型事件。触发器事件会导致事件在与关键帧相同的帧上求值,而重复器事件将事件分段的时长内为每个帧求值。

触发器事件

触发器事件是针对每个关键帧求值一次的事件。创建此轨道后,你就可以对其 设置关键帧 以创建事件关键帧。

触发器事件

重复器事件

重复器事件是将在事件分段的时长内针对序列的每个帧连续触发或求值的事件。调整序列的每秒帧数(Frames Per Second)还将调整重复器的求值速率以匹配。创建此轨道后,它将包含有限的分段(Section)范围,从而控制其求值时间。

重复器事件

你可以编辑、移动和修剪此事件分段,就像对Sequencer中的其他分段那样。

导演蓝图

导演蓝图是事件轨道的逻辑中心,其中你将从事件端点执行 蓝图可视化脚本(Blueprint Visual Scripting)。你还可以在蓝图中指定 参数(Parameters)对象绑定(Object Bindings),以便在整个脚本中传递变量和对象信息。每个 关卡序列(Level Sequence) 都有自己的导演蓝图,其中包含该序列中事件的所有逻辑。

你可以使用多种方式打开导演蓝图:

  1. 双击事件关键帧或分段。如果事件当前未绑定,此方法还会将事件绑定到新的端点

    双击事件

  2. 点击导演蓝图工具栏按钮(Director Blueprint Toolbar button)

    导演蓝图工具栏按钮

  3. 点击操作工具栏按钮(Actions Toolbar button),然后选择 打开导演蓝图(Open Director Blueprint)

    打开导演蓝图

事件端点

无论是创建触发器事件还是重复器事件,你都必须将其绑定到 事件端点(Event Endpoint),以便向其添加逻辑。为此,请右键点击关键帧(如果使用触发器)或分段(如果使用重复器),然后选择 属性(Properties)> 未绑定(Unbound)> 创建新端点(Create New Endpoint)。这样做会将事件关键帧或分段绑定到新的端点节点并打开 导演蓝图(Director Blueprint)

创建新端点

事件端点可以通过蓝图的"细节(Details)"面板中的 名称(Name) 属性重命名。

重命名事件

你可以根据需要创建任意数量的事件关键帧或分段。你还可以使用 快速绑定(Quick Bind)重新绑定到(Rebind To) 菜单来共享事件节点。

事件轨道链接

参数和事件有效负载

与蓝图 自定义事件(Custom Events) 相似,事件轨道可以有与之关联的输入参数。你可以使用事件参数和有效负载在事件触发时将属性值发送到目标。

要将参数添加到事件,请选择事件端点,然后点击"细节(Details)"面板中的 新建参数(+)(New Parameter (+)) 按钮。这样做将在细节中以及脚本的节点上创建新参数

事件轨道参数属性

右键点击事件关键帧或分段时,参数的额外属性将显示在 有效负载(Payload) 类别下。你可以在此定义参数上的值,而事件在执行时将发送这些值。

有效负载

对象绑定

在Sequencer中的绑定对象下创建事件轨道时,将为事件轨道创建 对象绑定(Object Binding),其中事件节点的目标对象将绑定到事件轨道添加到的对象。这样就更容易对序列中的特定Actor编写脚本函数,因为现在可以直接对对象调用函数。

事件轨道Actor绑定

关键帧或分段属性上下文菜单上还会公开一个额外的属性。将绑定的对象传递到(Pass Bound Object To) 将控制此事件应绑定到哪个对象参数。如果你已将额外的 对象(Object)蓝图接口(Blueprint Interface) 添加到端点节点,它们在这里就是可选择的。

将绑定的对象传递到

如果尚未对你的对象绑定事件指定一个端点节点,你可以使用 快速绑定(Quick Bind) 命令添加与绑定的对象直接相关的脚本函数,类似于从蓝图中的对象引用调用函数。

快速绑定事件Actor

事件属性

右键点击触发器关键帧或重复器分段时,你可以在 属性(Properties) 上下文菜单中查看以下属性。

事件属性

名称

说明

事件(Event)

此关键帧或分段在导演蓝图(Director Blueprint)中绑定到的 事件端点(Event Endpoint)

默认情况下,这是未绑定的,要进行绑定,可以点击下拉菜单,然后选择 Create New Endpoint 或其他现有端点节点。

未绑定创建新端点

快速绑定(Quick Bind) 包含此事件的兼容函数列表,在事件轨道绑定到对象时还包括对象绑定。

快速绑定

在编辑器中调用(Call In Editor)

启用此项将导致事件逻辑在编辑器会话中求值,而不需要你 在编辑器中播放或模拟(Play or Simulate in Editor)。事件绑定到端点节点后,此属性会立即显示。

你还可以右键点击事件轨道,在 属性(Properties) 上下文菜单中查看以下属性。

事件轨道属性

名称

说明

向前时触发事件(Fire Event when Forwards)

启用此属性将导致事件在序列正常向前播放时触发。

向后时触发事件(Fire Event when Backwards)

启用此属性将导致事件在序列逆向播放时触发。

如果你需要在预览序列时多次将事件链重置回正常,使用 向前(Forwards)向后(Backwards) 属性可能很有用。你可以将一个事件轨道设置为仅向前触发,将另一个事件轨道设置为仅向后触发。此后,你可以将向前事件连接到正常事件链,并将向后事件连接到重置链。

事件位置(Event Position)

定义事件应该在求值中的什么位置触发。

  • 在求值开始时(At Start Of Evaluation) 将导致该事件首先触发,然后再对序列中的其他全部内容求值。

  • 在求值结束时(At End Of Evaluation) 将导致该事件最后触发,在此之前对序列中的其他全部内容求值。

  • 在生成之后(After Spawn) 将导致事件在 可生成 生成并求值之后触发。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消