目录
八,Event Actor Begin Cursor Over
事件(Events) 是从游戏代码中调用的节点, 在 事件图表(EventGraph)中开始执行单独的网络; 它们使蓝图执行一系列操作,对游戏中发生的特定事件(如游戏开始、关卡重置、受到伤害等)进行回应;
这些事件可在蓝图中访问,以便实现新功能,或覆盖/扩充默认功能;任意数量的 Events 均可在单独 EventGraph 中使用,但每种类型只能使用一个;
一个事件只能执行一个目标;如果想要从一个事件触发多个操作,需要将它们线性串联起来;
一,Event Level Reset
注,此蓝图事件节点仅在关卡蓝图中可用;
Level Reset 事件在关卡重启时发出执行信号; 它在关卡重新加载后进行某项触发时非常实用,如玩家角色已死亡,但关卡无需重新加载时;
二,Event Actor Begin Overlap
多项条件同时满足时,将执行该事件:
- Actor 之间的碰撞响应必须允许重叠;
- 执行事件的两个 Actor 的 Generate Overlap Events 均设为 true;
- 两个 Actor 的碰撞开始重叠;两者移到一起或其中一个创建时与另一个重叠;
Other Actor:与此蓝图重叠的Actor;
三,Event Actor End Overlap
多项条件同时满足时,将执行该事件:
- Actor 之间的碰撞响应必须允许重叠;
- 执行事件的两个 Actor 的 Generate Overlap Events 均设为 true;
- 两个 Actor 的碰撞停止重叠;它们将分离,或在其中一个将被销毁;
Other Actor:与此蓝图重叠的Actor;
四,Event Hit
只要其中一个相关 Actor 的碰撞设置中 Simulation Generates Hit Events 设为 true,该事件便会执行;
五,Event Any Damage
注,此蓝图事件节点仅在服务器上执行;在单人游戏中,本地客户端即视为服务器;
当需要处理一般伤害时,此事件会被传递;如溺水或环境破坏,不是特别的点伤害或径向伤害;
- Damage,传入 Actor 的伤害量;
- Damage Type,输出伤害上包含额外数据的对象;
- Instigated By,负责伤害的对象的控制器(Controller),可是开枪的玩家控制器,或是投手雷造成伤害的 AI控制器;
- Damage Causer,输出伤害的 Actor,这可以是子弹或爆炸,
六,Event Point Damage
注,此蓝图事件节点仅在服务器上执行;在单人游戏中,本地客户端即视为服务器;
- Damage,传入 Actor 的伤害量;
- Damage Type,输出伤害上包含额外数据的对象;
- Hit Location,应用伤害的位置;
- Hit Normal,碰撞方向;
- Hit Component,被命中的执行 Actor 上的组件;
- Bone Name,命中的骨骼名称;
- Shot from Direction,伤害来源的方向;
- Instigated By,负责伤害的 Actor,这是开枪或投手雷造成伤害的 Actor;
- Damage Causer,出伤害的 Actor,这可以是子弹或爆炸;
七,Event Radial Damage
注,此蓝图事件节点仅在服务器上执行;在单人游戏中,本地客户端即视为服务器;
- Damage Received,从事件接收的伤害量;
- Damage Type,输出伤害上包含额外数据的对象;
- Origin,3D 空间中的伤害来源位置;
- Hit Info,命中收集到的所有数据,可break以访问数据单个;
- Instigated By,发起伤害的控制器(AI 或玩家);
- Damage Causer,输出伤害的 Actor,可以是子弹、火箭、激光或角色的拳击;
八,Event Actor Begin Cursor Over
使用鼠标界面时,鼠标光标在 Actor 上悬停时执行的事件;
九,Event Actor End Cursor Over
使用鼠标界面时,鼠标光标在 Actor 上移开时执行的事件;
十,Event Begin Play
游戏开始时将在所有 Actor 上触发此事件;游戏开始后spawned所有 Actor 上均会立即调用此事件;
十一,Event End Play
Actor 不存在于世界场景中时执行此事件;
- End Play Reason,说明 Event End Play 被调用原因的枚举;
十二,Event Destroyed
Actor 被销毁时执行此事件;
注,Destroyed 事件将在之后的版本中移除!Destroyed 函数的功能已合并到 EndPlay 函数;
十三,Event Tick
游戏进程中每帧调用的简单事件;
- Delta Seconds,输出帧之间的时间量;
十四,Event Receive Draw HUD
注,此事件仅限继承自 HUD 类的蓝图类可用;
- Size X,渲染窗口的像素宽度;
- Size Y,渲染窗口的像素高度;
十五,Custom Event
Custom Event 节点是拥有自身工作流程的特殊节点;
和 Events 一样, Custom Events 有一个执行的输出引脚和可选的数据输出引脚;但自定义事件是由用户创建的, 且可在一个图表中多次调用它们;它们定义了一个执行独立网络的入口点, 但不能通过代码调用它们来执行的;而是依赖于 事件图表 的其他部分, 通过使用 Custom Event 调用或者通过 CE
或 KE
控制台命令来显示地执行它们;
Custom Events 提供了一种创建自己的事件的方法,可在蓝图序列的任何地方调用这些事件;当把多个输出执行线连接到一个特定节点输入执行引脚时, 使用自定义事件可以简化图表的节点连线网络;甚至可在一个蓝图的图表中创建自定义事件,而在另一个图表中调用该事件;
创建自定义事件
调用自定义事件
和常规的 Events 不同,需调用来触发自定义事件;
注,和常规的Events不同,常规事件在每个图表中每种事件类型仅能调用一次;但可在图表中多次调用一个自定义事件;这样,自定义事件就可以把多个执行输出分支连入到一个单独的执行输入上,而不需要直接连线;
疑难解答
如在Custom Event节点上看到 警告! 条,提示 "不能找到名称为[CustomEvent]的函数" 信息,请 编译 蓝图;
如修改了自定义事件上的输入参数的数量,那么当编译蓝图时,调用该自定义事件的所有节点都会出现错误;必须刷新调用自定义事件的所有节点,要想刷新一个单独节点或者一组选中的节点,请右击这些节点并选择 Refresh Nodes ;