实现角色经过某一区域加速
效果说明
当角色经过某一区域的时候,角色移动速度变快,当角色离开这个区域的时候,速度恢复。
实现思路
通过两个蓝图来实现,用到蓝图通信
:
蓝图1:现有的第三人称角色蓝图 ThirdPersonCharacter
null
蓝图2:新建加速区域蓝图
null
实现效果
相关技术点
自定义事件
自定义事件(Custom Event)是一种特殊的 无返回值 的可执行节点,它可以在蓝图中被调用,用户可以自己定义,以组织逻辑或触发特定行为。
1. 创建自定义事件
打开蓝图,在事件图表(Event Graph
) 里 右键,输入 Custom Event
并选择 Add Custom Event
。为事件命名(例如 MyCustomEvent
)。
在 “详情” 面板中可以添加输入参数(可选)。
2. 调用自定义事件
在蓝图任何需要调用的地方,右键搜索刚刚创建的 MyCustomEvent
,并放置它。 连接它到执行流中即可触发该事件。
对象类型转化
用于检查和转换对象类型,例如判断某个 Actor 是否为 Character,然后执行特定逻辑。就像我们之前的开关门动作,和触发盒子重叠的动作只能是玩家控制的小白人角色,可以进行一个转化。
用法:
Cast To 节点
:将父类或 Actor 转换为特定子类。
获取对象(如 Hit Actor)。 连接到 Cast To 目标类型。 如果转换成功,则执行后续逻辑。
示例:
Actor → Cast To Character → 成功时 执行角色相关逻辑。
扩展
- 实现角色经过熔岩区域会自动掉血
- 实现角色经过恢复区域自动回血
- 实现角色经过技能区域获取技能