介绍

The Unity Timeline is a feature that allows you to visually edit music, play animations, show/hide objects, control particles, etc. along the time axis.

Unity的Timeline,可以根据时间轴来进行可视化的编辑音乐、动画等资源,有点类似于一个可播放内容的集成中心。Timeline经常用于制作游戏里的过场动画(CutScene)。对于过场动画而言,一般会涉及到很多东西的播放,比如音频的播放、各个角色播放各自的动画、摄像机的位移动画等,这些不同的播放对象,各自占据一个轨道,如下图所示,是一个Timeline的编辑窗口,Timeline由多个可以播放的Track组成:

Unity DateTime减30分钟 unity3dtimeline_unity

Track Types

这里的track一共有五种主要的类型,基本每个Track都会与一个场景里的GameObject联系到一起:

  • Activation Track: 控制物体的显隐的轨道
  • Animation Track:动画播放轨道,本质上是控制目标物体的Transform的改变
  • Audio Track:音频轨道
  • Control Track:Controls objects, etc.
  • Playable Track:通过脚本控制的自定义的Track

上面提供的图里,就是有一个音频轨道,和三个显隐轨道



Timeline Asset和Timeline Instance

Timeline Asset

一个Timeline资源,可以认为由多个Track组成。其后缀为.playable,代表可以播放的资源,可以在Project里右键创建相关资源,如下图所示:

Unity DateTime减30分钟 unity3dtimeline_unity_02


双击资源,可以打开对应的编辑窗口,如下图所示:

Unity DateTime减30分钟 unity3dtimeline_unity_03



Timeline Instance
Timeline Instance可以认为是Assets创建出来的实例,类似于prefabs和instances之间的关系。但与prefabs不同的是,对于Timeline Instance的改动会直接应用到Timeline Asset上,不用像prefabs要点apply按钮。



关于Bindings
Timeline这个系统,感觉像是一个系统级别的Animator,它可以把自己内部记录的Track的播放信息,应用到对应的GameObject上,而具体一个Track,对应到哪个GameObject的哪个Property上,相关信息叫做Bindings。所以说,Track记录播放资源的引用,Scene记录GameObjects,而Bingdings记录对应的Connections。



例一:添加Activation Track控制Cube的显隐

  1. 首先,创建Timeline Asset
  2. 把创建的Asset拖拽到场景的Hierarchy里,场景里会出现一个New Timeline的对象,它挂载了一个叫Playable Director的东西,把它改名为New Timeline Instance,如下图所示:
  3. Unity DateTime减30分钟 unity3dtimeline_拖拽_04

  4. 当选中这个挂在了Playable Director组件的Game Object时,Timeline窗口会自动切换到对应的timeline,如下图所示,它展示的既是Timeline Asset的信息,也是Timeline Instance的信息:
  5. Unity DateTime减30分钟 unity3dtimeline_Unity DateTime减30分钟_05

  6. 在Scene里创建一个Cube,在选中刚刚的Timeline的情况下(也可以直接lock住窗口),把Cube拖进Timeline窗口的左边区域,然后选择Add Activation Track,如下图所示:
  7. Unity DateTime减30分钟 unity3dtimeline_拖拽_06

  8. 点击右上角的齿轮,把时间刻度从帧数换成秒
  9. 编辑这个Activation Clip,长度拖拽为3s,然后拖到该track的中间部分,如下图所示,这个蓝色区域应该是Timeline的区间,好像不可以编辑,应该是根据内部Track自行决定的吧:
  10. Unity DateTime减30分钟 unity3dtimeline_unity_07

  11. 播放就可以了,一开始Cube会消失,然后到对应的时间会显示3s,然后这个Timeline就播放完毕了

顺便提几个小操作

  • 滚轮调整横向Track
  • Ctrl+滚轮调整纵向高度
  • 按住Alt可以拖拽整个Track窗口



例二:添加Audio Track

  1. 给的链接里下一个音频文件,导入到Unity里
  2. 把这个文件拖进去Timeline窗口,会出现一个Audio Track



例三:添加Animation Track

  1. 场景创建Sphere,拖到里面,选择Animation Track,此时Sphere上面会自动增加一个Animator Component,如下图所示:
  2. Unity DateTime减30分钟 unity3dtimeline_右键_08

  3. 点击红色录制按钮,然后拖拽上面白色的playback head到指定帧,改变对应角色的property,如下图所示,跟Animation窗口里制作动画类似,改变以后,会添加代表关键帧的菱点,在Inspector上右键点击,选择Add Key也可以:
  4. Unity DateTime减30分钟 unity3dtimeline_拖拽_09

  5. 这里的动画Track还可以双击点进去,本质上就是调用了Unity的Animation窗口
  6. 编辑完,点击红色按钮退出编辑模式,就可以播放了



补充UI说明

Holder按钮

Timeline的Track有的是有一个代表曲线的icon的,可以点击,会出现对应的Curve窗口,如下图所示,这里音频都有Curve:

Unity DateTime减30分钟 unity3dtimeline_unity_10