Unity学习日志_TimeLine

Unity学习日志_TimeLine

1. TimeLine概述

Unity的TimeLine可以创建电影内容、游戏序列、音频序列和复杂的粒子效果。用户使用TimeLine创建的每个剪辑场景、电影或游戏播放序列都包含TimeLine资源和TimeLine实例。TimeLine编辑器窗口可同时创建和修改TimeLine资源和TimeLine实例。

在这里插入图片描述

1. TimeLine Asset

时间线资源,存储Tracks、剪辑和录制的动画,不会链接到具体游戏对象上存在的动画。TimeLineAsset保存在Project面板。Asset相当于保存了一个剪辑框架,可以重用。

TimeLine编辑器窗口将轨道和剪辑定义保存为TimeLine Asset。如果录制关键帧动画则TimeLine编辑器会将录制的动画保存为TimeLine Asset的子项。下图红框为录制的关键帧动画。

在这里插入图片描述

在这里插入图片描述

资源创建方法:

  1. Project面板右键create选择TimeLine。
    1.
  2. 选中想要创建动画的游戏对象,此时TimeLine编辑器会像动画编辑器一样出现create选项,点击create后输入Asset名字和保存位置,此时创建了一个资源(同时会创建一个实例)。

2. TimeLine instance

时间线实例,Playable Director组件与链接到TimeLine资源的GameObject关联,这种关联称为时间线实例。如果说Asset是保存了一个剪辑框架,那么instance就是将各种细节填入后的实例对象。尽管TimeLine Asset定义了剪切场景、电影或游戏播放序列的轨道和剪辑,但无法将TimeLine Asset直接添加到场景中。想要为场景中的GameObject创建动画就必须创建一个实例。

当然Unity为用户提供了极其简单的实例创建方法:

  1. 直接将Asset拖入场景,Unity会自动创建一个TimeLine实例。TimeLine实例的标志是拥有Playable Director组件。

    1. 在这里插入图片描述
  2. 选中想要创建动画的游戏对象,此时TimeLine编辑器会像动画编辑器一样出现create选项,点击create后输入Asset名字和保存位置,当前选中对象就会自动多出一个Playable Director组件和Animator组件,这样也就创建了一个实例(同时创建了一个资源)。

3. 重用TimeLine Asset

由于TimeLine Asset和TimeLine实例是分开的,因此可以在多个TimeLine实例中重复使用同一个TimeLine Asset。

注意:对于同一个Asset,修改实例轨道或剪辑并保存会影响所有实例和Asset本身。

4. Animation,Animator和TimeLine

从功能的演进来说三者之间存在演进关系。

Aniamtion一次只能操控单个游戏对象的单个动画片段,Animator则可以一次操控单个游戏对象的多个动画片段,而TimeLine则可以一次操作多个游戏对象的多个动画片段。

2. TimeLine编辑窗口

1. 访问编辑窗口

要访问TimeLine的编辑器窗口,可依此点击Window -》Sequencing -》TimeLine。
在这里插入图片描述

2. 轨道和剪辑

  1. 轨道

    1. 在这里插入图片描述
  2. 剪辑

    1. 在这里插入图片描述

3. TimeLine选择器

位置:
在这里插入图片描述

作用:可以查看当前项目中所有的TimeLine资源和实例,列表名以TimeLine资源名(实例游戏对象名)的形式显示。

4. TimeLine播放控件

功能大体上与Animation相同,这里着重介绍播放范围按钮:

在这里插入图片描述

启动播放范围可将播放限制在特定的秒或帧数范围内,TimeLine编辑器会高光突出模仿播放部分并可以进行可视化调节。

在这里插入图片描述

注:该范围仅在游戏非运行模式下有效。

5. 轨道列表

在这里插入图片描述

使用轨道列表可以添加、选择、复制、删除、锁定、静音或者重新排列组成TimeLine Asset的轨道,也可以将轨道组织到轨道组中。

轨道左侧的彩色粗线条可以帮助用户区别不同的轨道,默认情况下激活轨道为绿色,动画轨道为蓝色,音频轨道为橙色,控制轨道为青绿色,可播放轨道为白色。每个轨道上的绑定都保存在实例中。这种绑定可以在Playable Director组件的Bindings中查看。

1. 添加轨道

使用轨道列表上面的Add按钮:

在这里插入图片描述

  1. Track Group:创建轨道组,其效果类似于文件夹,可以将不同用途的或者不同类别的轨道进行逻辑分类。Track Group内还可以创建子轨道组。
  2. Activation Track:激活轨道,控制游戏物体的显示和隐藏,功能相当于SetActive。
  3. Aniamtion Track:动画轨道,在剪辑上控制动画播放,可以在有Animator组件没有AnimatorController的情况下播放动画,通常使用该轨道时会将游戏物体中的AnimatorController摘除。
  4. Audio Track:音频轨道,在剪辑上控制音频播放。
  5. Control Track:控制轨道,在剪辑上可以控制和时间有关的元素,可以控制粒子系统,克隆物体,另一个TimeLine等。
  6. Playable Track:可播放轨道,在该轨道上用户可以添加自定义播放功能,代码需继承PlayableBehaviour和PlayableAsset并完成自定义播放功能。

注:在向轨道添加游戏物体时,如果游戏物体没有特定组件unity会自动添加。

2. 轨道菜单栏

其中的内容可能会随轨道不同而不同。

1. 动画轨道:

在这里插入图片描述

  1. Copy:轨道复制
  2. Paste:轨道粘贴
  3. Duplicate:轨道的复制粘贴。
  4. Delete:轨道删除。
  5. Lock:轨道锁定,锁定之后将无法对轨道中的剪辑做出修改。
  6. Mute:轨道静音,该轨道中的剪辑内容不再显示。
  7. Track Offsets:
    1. Apply Transform Offset:开始动画时每个剪辑都从制动的位移和旋转偏移后开始。使用Move移动和Rotate旋转工具,可设置开始时的位移与旋转的偏移值。位置可以手动调节。
    2. Apply Scene Offsets:开始每个动画剪辑的动画时,是根据本身所在场景的位移与旋转偏移来开始的。使用这个模式一般是用于创建一个从其他状态机过渡来的,或是从另一个Timeline实例控制过渡来的。
    3. Auto(deprecate,过期的):如果加载一个场景或是一个项目是来自2018.3之前的构建出来的。Track Offsets会自动设置为Auto(deprecated过期的)。这个模式是为了向后兼容的。在打开一个旧的项目,选中其他的Track Offsets模式,因为Auto(过期的) offset禁用了关键帧动画录制的功能。
  8. Add From Animation Clip:在轨道中添加动画剪辑快。
  9. Add Override Track:添加该轨道的重写轨道。
2. 录制动画轨道:

重复的选项不再赘述

在这里插入图片描述

  1. Convert to Infinite Clip:转换为无限剪辑。对应的,在无限剪辑模式下此选项变为Convert to Clip Track。对于录制动画无限剪辑模式下不能通过直接拖拽的方式来改变动画片段的长度和一些过渡设置,这时候使用Convert to Clip Track就可以转变为可以可视化编辑的动画剪辑快。
3. 激活轨道:

重复的选项不再赘述

在这里插入图片描述

  1. Add Activation Clip:添加激活剪辑块。
4. 音频轨道:

重复的选项不再赘述
在这里插入图片描述

  1. Add From Audio Clip:添加音频剪辑快。
5. 控制轨道:

重复的选项不再赘述

在这里插入图片描述

  1. Add From Game Object:添加游戏对象。
6. 可播放轨道:

重复的选项不再赘述

在这里插入图片描述

7. 轨道组:

重复的选项不再赘述,之前说过轨道组充当了文件夹的作用,所以在轨道组中依旧可以创建轨道,同时也可以创建子轨道组。

在这里插入图片描述

  1. Add Track Sub-Group:添加子轨道组。

6. 剪辑视图

1. 添加剪辑

剪辑添加方法在轨道菜单栏中介绍过了,这里不做重复介绍。

注:添加剪辑的方法也可以是直接拖入。

2. 剪辑菜单栏

剪辑菜单栏以动画剪辑为例。

在这里插入图片描述

  1. Match Content:选择此项会将动画剪辑重设回初始长度。
  2. Edit in Animation Window:在animaiton窗口中编辑该动画片段。
  3. Editing:剪辑编辑选项
    1. Trim Start:剪去开头,当播放头处于一个剪辑块内部时,选择此项将剪去播放头左侧部分。
    2. Trim End:剪去结尾,当播放头处于一个剪辑块内部时,选择此项将剪去播放头右侧部分。
    3. Split:划分剪辑,当播放头处于一个剪辑块内部时,选择此项将会使当前剪辑块以播放头为中心分为左右两个部分。
    4. Complete Last Loop:完成最后一次循环
    5. Trim Last Loop:剪去最后一次循环。
    6. Double Speed/Half Speed:2倍速/半速播放。
    7. Reset XXX:重设XXX属性。
  4. Tile:平铺剪辑,选择多个剪辑快后选择此项会将所有选中的剪辑快平铺在无限剪辑中。
  5. Find Source Asset:找到剪辑源资源。
  6. Match Offsets To Next Clip:匹配下一个剪辑快的偏移。
3. 动画剪辑面板

在这里插入图片描述

  1. Clip Timing:剪辑块时间设置,s表示秒,f表示帧
    1. Start:开始时间。
    2. End:结束时间
    3. Duration:持续时间。
    4. Ease In Duration:淡入时间。
    5. Ease Out Duration:淡出时间。
    6. Speed Multipier:速度系数。
  2. Animation Extrapolation:动画外推。指的是动画轨道在动画剪辑前后的间隙中如何接近动画数据。主要目的是避免动画异常。每个动画片段都有两个外推:
    1. 在这里插入图片描述

    2. 预先外推(pre-extrapolate),他控制动画数据在动画片段之前的间隙中的近似方式。

    3. 后置外推(post-extrapolate),他控制动画数据在动画片段之后的间隙中的延申方式。

    4. 外推选项:

      1. None:取消外推,在设置淡入淡出效果的时候非常有用。
      2. Hold:在所选动画片段的间隙中,绑定到动画轨道的GameObject使用在动画剪辑开始时分配的值。
      3. Loop:在所选动画片段的间隙中,绑定到动画轨道的GameObject将向前循环重复整个动画,使用Clip in属性可以来抵消循环的开始。
      4. Ping Pong:在所选动画片段的间隙中,绑定到动画轨道的GameObject将向前循环重复整个动画,然后向后循环。
      5. Continue:在所选动画片段的间隙中,绑定到动画轨道的GameObject根据原素材资源的设置保存或循环动画。例如选定的动画剪辑使用运动文件Recorded作为其原资产并且将Recorded设置为循环,则继续根据Recorded循环时间设置来选择连续循环动画。
  3. Blend Curves:混合曲线,用于调节淡入淡出效果。
  4. Animation Playable Asset:
    1. Animation Clip:当前剪辑使用的动画片段。
    2. Clip Transform Offsets:此选项是否可以使用取决于轨道的Track Offset选项。

7. TimeLine设置

在这里插入图片描述

  1. Seconds/Frames:将TimeLine编辑器设置剪辑单位。
  2. Duration Mode:设置持续时间模式
    1. Based on Clip:动画剪辑的整体持续时间取决于最后一个动画剪辑的结束时间。
    2. Fixed Length:固定持续时间,此模式下无限剪辑中的蓝条将可以拖动编辑。
  3. Frame Rate:选择动画帧率。
  4. Show Audio Waveforms:允许显示音频波形。
  5. Snap to frame:启动对齐到帧以操作剪辑。
  6. Edge Snap:启动该选项可在定位、修剪和创建混合期间对齐剪辑。

3. TimeLine工作流程

1. 创建TimeLine Asset和TimeLine instance

创建的方法在上面的概述中介绍过了,这里不再做过多介绍。

2. 使用无限剪辑录制基本动画

录制方法和Aniamtion相同,需要添加关键帧来录制插值动画。关于键的菜单栏也和Aniamtion相同。

4. Playable Director组件

在这里插入图片描述

属性:

  1. Playable:选择TimeLine资源。
  2. Update Method:使用更新方法来设置TimeLine实例以更新其时序的时钟源。
    1. DSP:选择样本准确的音频调度。选中时,TimeLine实例将使用处理音频的相同时钟源。DSP代表数字处理信号。
    2. GameTime:选择使用和游戏时钟相同的时钟源,受到时间缩放影响。
    3. Unscale GameTime:选择使用和游戏时钟相同的时钟源,不受到时间缩放影响。
    4. Manual:通过脚本手动设置时钟时间。
  3. Play On Awake:是否在一开始唤醒就开始播放动画。
  4. Wrap Mode:
    1. Hold:播放结束后保持最后一帧的动作。
    2. Loop:循环播放,直到被中断。
    3. None:播放结束后将所有动画属性重置为开始状态。
  5. Initial Time:设置开始时间。
  6. Bindings:这里可以查看轨道和游戏对象的关联状态。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值