时间轴是组件
在蓝图中添加时间轴的时候,EPIC为它制作的独特显示逻辑通常会让人产生误会成它是函数之类的东西。
实际上,时间轴是一个组件,就如同下方这些“添加组件”一样。
也因此,时间轴组件无法创建在"组件"中
但你可以尝试直接"按类添加组件",并将Class设置为时间轴,这通常会将组件添加到父Actor
由于形式上,形同在蓝图中使用“添加组件”节点
因此在添加后,他不会出现在图中②的组件列表,而是会出现在图①的组件变量列表
类比一下添加“静态网格体组件”的操作,其实是一样的
由于Timeline在创建组件之外,还需要考虑其携带了各种事件的输入输出
EPIC为了降低门槛,避免让用户在创建组件之后,还要手动的调用绑定输入输出的各种事件,才对timeline组件做了这样的独特设计
作为课后作业,你可以试着从头实现一个自己的Timeline组件,你就会发现这个特殊设计的奥妙
当有多个时间轴的组件时,可以以名字找到对应的组件引用变量
修改组件设置
你可以拖出组件变量,修改timeline的设置
时间轴的设置
添加轨道
你可以添加四种类型的轨道
播放设置
又一个误导,乍一看让你以为这是画曲线的小工具
但实际上这里是非常重要的、时间轴组件的功能设置,例如"自动播放","循环播放"等设置
当你做了一些设置,它是会体现在节点上的
这里需要重点提到"已复制"
它就是正常组件的网络相关的复制,如果你在搞多人游戏,你需要知道它在这里
启用后同样会有变化(搞多人的对这对儿猫铃铛会很熟悉)
最后的“Tick组”,实际上就是正常组件中的“Tick分组”
时间轴的使用
节点输入输出说明
先看通俗易懂的部分
输入输出分别为
输入 | 输出 |
---|---|
正向播放 | 播放过程中持续触发 |
从头开始正向播放 | 完成后触发 |
停止 | |
反向播放 | |
从结尾反向播放 |
Set New Time ,一个事件带一个值。
功能为播放进度跳转,例如时间轴长度为0-1,设置0.5,则将播放进度跳转到0.5
Direction枚举,输出当前的播放方向,用于做一些逻辑(有啥用,我自己播的我不知道嘛?)
使用案例
这是一个最简单最普通的用法
一些技巧
规格化曲线
作为一个曲线参数,通常来说可以将其进行规格化到0-1范围,只保留曲线的形态
规格化后,可以对曲线的“播放速度”、“值”的输出,进行准确的动态修改,
- 例如“播放时长”值为"10",则计算 1 ÷ 10 1 \div 10 1÷10 ,也就是以 1 10 \frac{1}{10} 101 的速率进行播放,播放10秒
- 曲线值范围为0-1,那么乘以x,可以将其范围变为0至x,例如”曲线值“为“100”,则将输出的范围缩放到0-100
- 还可以使用Lerp,例如A为5,B为30,则输出值为从5到30
如果是向量的话你可以用lerp来实现(其他的举一反三吧)
也是有各种荒诞的需求
导入曲线
如果你是动画高手,你肯定已经制作了各种曲线资产
如果你是动画低手,你需要知道。例如UI/小球的跳入跳出动画,需要使用不同的惯性曲线
比如这种,In和Out分别是不同的惯性曲线,,“out”并非是“in”的“倒放”
你可以在选中曲线资产的情况下,将其添加到Timeline
更换曲线
你也可以随时为某个时间轴其中的某个轴更换曲线
首先为轴起个名
然后使用设置函数,更换它的曲线
这样就可以避免需要两个Timeline组件才能驱动一套动画,只需要在播放前更换曲线就可以了
这个技巧可以在很多情况下,避免创建过多的TimeLine组件,尽量避免创建多余的组件总是没错的