时间轴节点(Timeline Nodes) 是蓝图中的特殊节点,允许你快速设计出基于时间的动画效果,并在时间轴上设置关键帧,触发 事件 ,或调整 浮点数、向量 或 颜色。
你可以直接在蓝图编辑器中编辑时间轴,只需在图表(Graph)选项卡中或我的蓝图(My Blueprint)选项卡中双击时间轴(Timeline)。它们主要用于处理一些简单的、非动画任务,例如开门、改变光源或在场景中对Actor执行其他基于相关的操作。它们类似于关卡序列,因为它们都允许你在不同帧之间对浮点、向量、颜色的数值进行插值运算。
输入和输出

时间轴包含以下输入、输出引脚:
输入引脚
项目 | 描述 | |
---|---|---|
Play(播放) | 使得时间轴从当前时间处开始正向播放。 | |
Play from Start(从开始处播放) | 使得时间轴从开始处正向播放。 | |
Stop(暂停) | 在当前时间处停止播放时间轴。 | |
Reverse(反向播放) | 从当前时间处反向播放时间轴。 | |
Reverse from End(从结尾处开始反向播放) | 从结尾开始反向播放时间轴。 | |
Set New Time(设置新时间) | 将当前时间设置为New Time(新时间)输入中的设置的变量(或输入)。 | |
New Time(新时间) | 该数据引脚取入一个代表时间的浮点值,以秒为单位,当调用Set New Time(设置新时间)输入时,时间轴可以跳转到该浮点值设置的时间处。 |
输出引脚
项目 | 描述 | |
---|---|---|
Update(更新) | 一调用该时间轴就输出一个执行信号。 | |
Finished(完成) | 当播放结束时输出一个执行信号。该引脚不会被Stop函数触发。 | |
Direction(方向) | 输出枚举数据,指明了时间轴的当前播放方向。 |
时间轴可以额外增加任意数量的输出数据引脚,用于反映在时间轴中创建的轨道类型,包括Float(浮点型)、Vector(向量型)和Event(事件)轨道。
概览(C++)
UTimelineComponent 包含一系列的 事件(events)、 浮点数(floats)、向量(vectors) 或 颜色(colors) 及其关联的关键帧。这些内容继承自UActorComponents
如需更多文档信息,请参阅Actor组件的概述
时间轴可以实现从事件中播放基于时间的动画,这些事件可以沿着时间轴在关键帧处触发。可以使用时间轴来处理简单的非动画任务,例如开门、更改光源或对场景中的Actor执行其他以时间为中心的操纵。 这种方式与关卡序列相似,因为它们都提供要在时间轴上的关键帧之间内插的值,例如浮点、向量和颜色。
输入和输出
UTimelineComponents具有可以在原生代码中扩展的可靠方法,详情请参阅UTimelineComponent API指南。 如果要查看有关如何在引擎中使用时间轴组件的示例,请点击下方的时间轴示例链接之一。
ExampleTimeline.h
/** 开始播放时间轴 */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void Play();
/** 从头开始播放时间轴 */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void PlayFromStart();
/** 开始反向播放时间轴 */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void Reverse();
/** 从末尾开始反向播放时间轴 */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void ReverseFromEnd();
/** 停止播放时间轴 */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void Stop();
/** 设置要使用的新播放位置时间 */
UFUNCTION(BlueprintCallable, Category="Components|Timeline")
ENGINE_API void SetNewTime(float NewTime);
/** 用于处理时间轴"事件"的函数签名 */
FOnTimelineEvent OnUpdate();
FOnTimeLineEvent OnFinished();
FOnTimeLineEvent ExampleTimelineEventTrack();
/** 包含条目的结构体,每个条目针对一个浮点插值 */
FTimelineFloatTrack ExampleFloatTrack;
/** 包含条目的结构体,每个条目针对一个向量插值 */
FTimelineVectorTrack ExampleVectorTrack;
/** 用于指明时间轴播放方向的枚举数据 */
ETimelineDirection Direction;