时间轴

概述虚幻引擎中时间轴

Windows
MacOS
Linux
本页面的内容

选择实现方法:

Blueprints

C++

k2_timeline_demo.png

时间轴节点(Timeline Nodes) 是蓝图中的特殊节点,允许你快速设计出基于时间的动画效果,并在时间轴上设置关键帧,触发 事件 ,或调整 浮点数向量颜色

你可以直接在蓝图编辑器中编辑时间轴,只需在图表(Graph)选项卡中或我的蓝图(My Blueprint)选项卡中双击时间轴(Timeline)。它们主要用于处理一些简单的、非动画任务,例如开门、改变光源或在场景中对Actor执行其他基于相关的操作。它们类似于关卡序列,因为它们都允许你在不同帧之间对浮点、向量、颜色的数值进行插值运算。

输入和输出

image alt text

时间轴包含以下输入、输出引脚:

输入引脚

项目

描述

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;

时间轴示例

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