返回 导航

UE5

hangge.com

UE5 - Event Tick事件节点使用详解(让Actor持续旋转)

作者:hangge | 2025-09-02 09:16
    在 Unreal Engine 5UE5)中,Event Tick 是一种每帧调用的核心事件,能让我们在每一帧执行特定逻辑。它在实现角色移动、持续效果、计时器、动态更新等场景中非常常见。本文将通过样例演示 Event Tick 节点的使用。

1,基本介绍

(1)Event TickActorComponent 自带的一个事件节点,每当引擎每帧渲染时,都会触发一次。
提示:默认情况下,UE5 的帧率不固定(通常 30–144 FPS 不等),Event Tick 的调用频率与实际帧率一致。

(2)Event Tick 节点只有一个输出参数 Delta Seconds,该参数表示距上一帧的时间(秒),可以用于将基于时间的操作与帧率解耦。

(3)在 ActorComponent 的“细节”面板里的“Tick Interval (秒)” 输入框,默认值为 0(表示每帧都调用)。我们可以把它改为,比如 0.10.21.0 等,单位是秒。引擎会在上一次 Tick 调用结束后,等待设定的秒数再触发下一次 Tick
提示:对于低频率逻辑,比如搜索附近敌人、更新玩家状态 UI、统计统计数据等,不需要每帧都跑,用 0.2~1.0 秒的间隔就足够了。

2,使用场景

(1)平滑移动
  • 使用 SetActorLocationAddActorWorldOffset,配合 Delta Seconds 实现与帧率无关的移动。
(2)计时器与延迟
  • 自行在蓝图中维护一个累加器变量(Accumulator += Delta Seconds),当其大于目标时间时触发逻辑并重置。
(3)实时数据更新
  • 如游戏菜单的 FPS 显示、AI 状态轮询、物理效果控制等。

3,使用样例

(1)这里我们借助 Event Tick 实现一个持续选装的立方体,首先创建一个 Actor 蓝图,名为 BP_RotatingCube

(2)打开 BP_RotatingCube 蓝图,在组件面板中添加一个“立方体”。

(3)在“我的蓝图”面板中创建“浮点”类型的 RotationPerSecond 变量,并在“细节”面板中将该参数默认值设置为 180.0。该值以度为单位,因此组件将在 2 秒内完成围绕 Actor 的旋转。我们还可以勾选上“可编辑实例”,以便在关卡中也能直接调节速度。

(4)切换到事件图表,添加如下逻辑。使用 EventTick 事件为组件创建一个平滑的移动。EventTick 每帧执行一次,它具有 Delta Seconds 参数,该参数用于存储自上次执行 EventTick 以来经过的时间。我们用 Delta Seconds 乘以 Rotation Per Second 变量来计算旋转的角度的值。

(5)最后,我们将 BP_RotatingCube 拖入场景。运行游戏后就可以看到立方体在不断地旋转。默认每秒旋转 180 度,我们可以在“细节”面板中,可实时调整 RotationPerSecond,观察立方体旋转速度变化。
评论

全部评论(0)

回到顶部