介绍Timeline(时间轴)的使用方法

CSDN的博客添加图片太麻烦了,而且链接网页图片会出现错误,如果需要看详细文章,请访问我的微信公众号《猎梦虚幻研究社》


在蓝图设计图表中右键搜索Timeline或者在变量分类中创建时间轴

确定以后会在蓝图设计图表中看到新创建的时间轴

而此时展开Variables中的Components分类,也能在里面找到这个时间轴。也就是说,当你创建了一个时间轴,它实际上就成为了一个组件附加在了蓝图类里。

双击打开时间轴,可以看到时间轴编辑页面

这张图是刚创建新的时间轴,未添加任何内容的时候显示的样子。这个时候我们就可以点击上面的按钮来为时间轴增加数据,或者设置参数。为了讲解方便,我直接将官方文档上的表格截图下来,供大家参考:

由上面官网文档的截图中可以看出,时间轴可以输出四种数据,分别是Float浮点数,Vector向量,Color颜色和Event事件。

点击按钮以后就可以给时间轴添加相应的数据,如果点击多个或者多次,可以添加多个不同的输出参数。

当添加不同的输出后,Timeline就会在输出部分多出来几个新的引脚,引脚的名称可以在时间轴编辑页面点击曲线的标题进行更改,这个输出表示曲线每帧在对应时间输出的值。

介绍一下Timeline的输入输出参数:

输入部分:

Play是正向播放,当这个执行引脚被激活时,时间轴从当前停止位置开始播放(如果从来没播放过就从头开始播放,如果是中途暂停,就从暂停的地方开始播放)。

Play from Start是从头开始播放,无论当前播放到哪里,都从第一帧开始播放。

Stop是停止播放

Reverse是从当前位置开始反向往前播放,与Play正好相反。

Reverse from End是从最后一帧开始向前播放,与Play from Start相反。

Set New Time引脚如果被触发,则会使用最下方的New Time中输入的时间作为当前时间,这样可以使时间轴跳跃着播放。

New Time中输入新设置的时间,比如我需要从中间开始播放,就可以取时间轴总时长并且除以2再作为参数给New Time来实现从中间播放。

输出部分:

Update是一个每帧执行的输出引脚,当时间轴还在执行时,它就会每帧执行。

Finished则是在时间轴播放完毕后进行的最后收尾用输出,可以理解为回调函数,即时间轴执行完后的后续逻辑。

Direction是一个枚举类型(关于枚举类型可以翻看往期推送,也可以在后台回复“枚举”或“Enum”),用处是输出当前时间轴的播放方向。枚举值只有正向和反向两个可选值。

而上图中后续的输出则是添加的时间轴对应的输出,图中的New Track 0是我添加的一个Float型曲线的输出。同理,添加的其他输出也会添加在下面,并依次排列。

我就直接以官网的示例进行介绍,添加一个Float类型的曲线(点击标有f+的按钮符号),这时在坐标轴中右键添加关键帧(Add Key)。

任意添加三个关键帧,完成这个步骤之后,曲线会根据你添加的关键帧自动构成曲线,如图:

这时候如果想微调曲线,选中曲线的点(单击一个点或者框选多个点均可)

然后右键点击,会显示出曲线的变换模型(Auto,User,Break,Linear,Constant),可以手动点击,也可以用键盘的数字键快捷更改。

这里对曲线的调整和Maya中调整曲线的方式基本一致,总的来说就是调整自动平滑的曲线,或者直线连接,或者直接截断,或者左右分开调整。点击曲线上的关键帧,可以拖动左右两个小手柄来改变曲线弯曲的趋势。

在下面Tangents里面,Flatten用于将手柄重置回水平状态

Straighten同样是将手柄打直,但是这个操作是取平均值来打直

看完操作之后,来讲解一下Timeline的输出信息。

当我们添加一个Float曲线时,时间轴编辑器里面就会多出来我们添加的曲线,在曲线上添加关键帧,使曲线有一个比较明显的变化,比如我添加的这样:

这时选中各个点,在Time和Value两个框中确定数值,使关键帧在一个比较规整的位置:

这里我的三个点分别是(0,0),(1,10),(2,5),调节框在上图红色框里(红框旁边的横向和竖向按钮是让曲线适应窗口)。

这时选中前两个点后按数字键“1”来使曲线变得平滑:

这个操作等同于对关键帧右键单击后选择第一个Auto,之前已经说过。

现在要注意一点,我们的动画时间轴其实只给了2秒的关键帧,也就是说我实际上只准备播放两秒钟,但是现在默认时长是5秒,所以我需要将最大时长设置为2秒:

这时就可以关闭这个时间轴编辑页面回到EventGraph。

我现在要做的就是用上之前介绍的两个函数——PringString和SetActorLocation(如果不了解这两个函数,可以翻看往期推送或者直接在后台回复函数名printstring和setactorlocation)来观察Timeline的使用效果。

我要做的是在游戏BeginPlay的时候蓝图开始改变自身的位置,并且打印曲线的输出值到屏幕上,最后输出一个Finish Play!在屏幕上。

将这个时间轴创建在任意一个Actor蓝图类中,给蓝图一个可见的模型(比如添加StaticMeshComponent),然后将蓝图写成下图的样子:

实际运行时如下图:

先被设置到场景坐标原点,再沿着X轴方向移动150的单位距离,最后往回移动75的单位距离。

总结:

Timeline时间轴的用处就是沿着现有曲线播放,并且输出曲线上的值。时间轴可以输出小数,可以输出坐标(Vector),可以输出颜色,还可以定时输出事件(执行引脚)。时间轴在触发后可以自动播放,所以不用连接Tick。

关于时间轴,可以翻看官方文档关于时间轴的介绍。

Timeline时间轴相关推荐

  1. vue使用iview Timeline 时间轴不显示问题

    vue Timeline 时间轴不显示渲染的效果 官网代码 <Timeline pending><TimelineItem>发布1.0版本</TimelineItem&g ...

  2. Timeline 时间轴

    Timeline 时间轴 Timeline 时间轴 可视化地呈现时间流信息. 基础用法可参照element官网 时间轴太长可鼠标滚动 <el-scrollbar wrapClass=" ...

  3. Python数据可视化 Pyecharts 制作 Timeline 时间轴组件

    Python3 的 Pyecharts 制作 Timeline(时间轴组件) 时需要使用的设置参数和常用模板案例,可根据实际情况对案例中的内容进行调整即可. 文章目录 Demo 时间轴&轴饼图 ...

  4. 【unity基础_Day15】 灯光系统、粒子系统、车轮碰撞器、TimeLine时间轴

    一.灯光系统 Windos--Lighting--LightExplorer 可以直接查看场景中所有的灯光以及参数,方便环境灯光多的场景的操作 二.粒子系统 Unity粒子系统简介_悲欢离合的博客-C ...

  5. 利用AUI实现多种多样的timeline时间轴样式

    背景 参考上一篇样式,这边不讲解,只是介绍一种方法.我项目用了aui,就刚好利用这个框架实现了. 如果不想引入框架,请参考我的上一篇博客.可以简单实现. 效果图 源码 <!DOCTYPE htm ...

  6. 【AntDesign】巧妙修改Timeline时间轴

    修改它也是因为公司的需求,需求如下: 第一反应是用Steps,用了之后发现,Steps只能做导航的作用,最多可以做横向的页面切换的节点,纵向的不行,我尝试过往Step中间添加内容,不会渲染.需求中,两 ...

  7. Flutter时间轴(timeline)

    组件 在业务开发中经常会使用到timeline时间轴,来记录数据操作记录等,在这本人封装了一个相对较通用的时间轴组件. 示例 参数 参数 类型 必填 说明 timelineList List 是 时间 ...

  8. Vue3时间轴(Timeline)

    Vue2时间轴(Timeline) 可自定义设置以下属性: 时间轴内容数组(timelineData),必传,类型:Array<{desc: string, color?: string}> ...

  9. cesium clock时间轴速度自定义

    效果图 组件说明: 1.开始.暂停按钮使用的cesium自带的,通过css隐藏了周围的圆 2.上边的滑块使用的iview的slide滑块(min:1 max:100) 滑动滑块触发事件 // 滑块改变 ...

最新文章

  1. CCF-IFAA基金海外参展 全球安全盛会迎来中国声音
  2. 关于简单动态规划(Dynamic Programming)的总结
  3. Linux进程间通信五 Posix 信号量简介与示例
  4. 计网 - 传输层协议 TCP:TCP 为什么握手是 3 次、挥手是 4 次?
  5. Intel RealsenseD435 color图与depth图的两种对齐(align)方式
  6. MQTT工作笔记0001---MQTT协议概述
  7. 微软推出一波AI新功能:自动生成图表、更贴心的Cortana和搜索
  8. C#代码生成目录树(转)
  9. 小米手机怎么设置鸿蒙开机动画,小米9开机动画太酷炫了!还不知道怎么设置赶紧来看看!...
  10. 干货|爬虫被封的几个常见原因
  11. 筛选excel表格C++实现
  12. Object C基础
  13. 2023英语作文模板
  14. 程序员十二星座行为大赏
  15. 解决Ubunt20.04安装Sogou输入法失败进不去桌面 及 中文输入法安装
  16. Android实用代码大全
  17. [MRCTF2020]Ez_bypass
  18. 国密sm2加密算法 前后端加密实现
  19. 动态库编译通过,调用动态库函数运行出现undefined symbol
  20. 腾讯汤道生:微信乘车码已全量上线昆明地铁

热门文章

  1. java byte数组转long_Java中byte、byte数组与int、long的转换详解
  2. mysql对接GaussDB高斯数据库出现的问题以及解决方式
  3. SVN上传文件忽略target
  4. 模块化、组件化和插件化的区别
  5. other:软件开发流程
  6. js数组查找最接近_js 数组快速查询指定字符串方法
  7. OA 系统工作流引擎 Camunda 实践(1)
  8. ubuntu 常用下载工具的使用
  9. 分享技术,享受更美好的人生
  10. 抓包+逆向app分析protobuf