TimeLine学习笔记

这篇博客详细介绍了Unity的Timeline功能,包括Timeline的基本概念,如轨道、片段、行为和混合器,以及各种类型的轨道如激活、声音、动画和信号轨道的使用。此外,还涉及了自定义轨道的创建,包括TrackAsset、PlayableAsset和PlayableBehaviour的继承使用,以及如何创建自定义轨道编辑器。最后,提供了官方文档和插件资源链接以供深入学习。

一.什么是Timeline

1.资源整合工具。
2.可以给不同的对象建立不同类型的轨道。
3.每个轨道可以单独编辑,轨道内的不同资源可以有序排列,并且可以融合。

二.Timeline基本介绍

四元素

The Track,THE Clip,Behavior/The Data,The Mixer
在这里插入图片描述

1.The Track 轨道
2.The Clip 片段
3.Behavior/The Data 行为代码
4.Mixer 通道混合器

轨道:

基础轨道:

激活轨道,动画轨道,音乐轨道,轨道分组.

高级使用:

signal轨道,Playable轨道.
在这里插入图片描述

相应的快捷建:

1.Ctrl+鼠标中键:timline轨道高度缩放放大。

2.鼠标中键:timeline轨道长度进行缩放。

3.对应片段+F:将整个TimeLine放大,将焦点聚焦到Clip这个焦点上。

4.选中对应轨道+L:将当前轨道锁定。

Timeline安装和Debug:

搜索Timeline更新升级成最新版:
Unity—>Package Manager—>Unity Registry—>TimeLine

当你拖拽时间轴出现报错,Timeline处在Preview模式下,他会运行Timeline中很多程序,但是你很多东西都还没有获得引用,只要在运行情况下没有问题就好。

0.轨道分组(TrackGroup)

将多个轨道划归到同一组内方便管理。

1.激活轨道(Activation Track)

Visibilty :一个Track只能控制一个对象的激活与否。
轨道属性:Post-Playbackstate:
Active:设置为激活的(active=true),当Timeline资源播放完后。
Inactive:播放Timeline完后,设置为非激活(active=false)。
Revert:在Timeline播放完后,GameObject.active=播放前的GameObject.active的去反值。
Leave As Is:设置active的状态是依赖Timeline资源播放完后active的值是什么就保持为什么。

2.声音轨道(Audio Track)

声音控制:控制声音.
轨道属性:需要绑定一个AudioSource(对应空间中带声音组件的GameObject)(可以不绑定也能播放声音)。

Inspector面板属性.

Volume:音量大小
Stereo Pan:左右声道
Spatial Blend: 3D声音。

3.动画轨道(Animation Track)

动画控制:控制对应对象的动画播放.
轨道属性:骨骼绑定??
动画导入方式:
1.事先做好的动画。 Animation Clip (有限动画)
2.轨道上直接K动画(KeyFrame Animation)帧动画。Infinite Clip(无限动画)

K动画小技巧:

1.快速添加关键帧.
在这里插入图片描述

2.取消当前位置关键帧。
在这里插入图片描述

3.双击轨道可以跳转到Animation窗口上进行精细动画控制。

4.可以将k动画右键变成(AnimationClip)有限的片段。
当前轨道—>Convert to Clip Track
在这里插入图片描述

4.信号轨道(Signal Track)

轨道作用:建立TimeLine窗口与外部系统的沟通渠道。
在这里插入图片描述

发射器和接收器解耦,重用使用.
这里使用信号的名称而不是事件的名称,是因为信号有广播的特点,也不和Animation中的Event混合。

使用三要素:

Signal Asset 信号资源
Link Emitter和Receiver,作为他的桥梁。
信号资源是发射器和接收器之间的联系,可以在多个Timeline实例中复用。
在这里插入图片描述

在这里插入图片描述

Signal Emitter 信号发射器:
我需要在时间轴上的某一个点,哪一个点去进行脚本的处理回调,这个点就是信号发射器。
在时间轴上的某个点设置信号发射器选择对应的信号资源。
在这里插入图片描述

Signal Receiver 信号接收器:
我们希望去调用,回调的方法。在这里插入图片描述

5.自定义轨道(Track Asset)

自定义轨道通过继承对应基类来实现,一共由四部分组成:
(1)轨道类继承TrackAsset

用于在timeline中创建一个自定义轨道,类名就是轨道名称。

(2)片段类(Clip)继承PlayableAsset

用于在自定义轨道内创建Clip,类名就是Clip名称。可通过Project->Create->Playables->Playable Asset C# Script创建

(3)当前片段生命周期继承PlayableBehaviour

自定义Clip的生命周期代码,包含进入,离开,每帧等等。可通过Project->Create->Playables->Playable Behaviour C# Script创建

(4)片段间混合处理继承PlayableBehaviour

自定义Clip间混合处理的代码

在这里插入图片描述
在这里插入图片描述

1.TrackAsset基类

创建一个自定义轨道
创建一个类,让这个类继承UnityEngine.Timeline.TrackAsset.
(1)常用的三个特性
TrackColor(r,g,b) 确定当前轨道颜色
TrackClipType(TypeOf(PlayableAsset)) 确定当前轨道显示颜色
TrackBindingType(Typeof(Component)) 确定当前轨道需要绑定的组件(轨道内需要改变哪个组件的参数)
在这里插入图片描述

写法较为固定

2.PlayableAsset基类

创建一个自定义Clip(片段)
创建一个类,让这个类继承UnityEngine.Timeline.PlayableAsset基类

通常还会继承ITimelineClipAsset,具体写法如下
在这里插入图片描述


会将系统自定义的属性添加到Inspector窗口
在这里插入图片描述


**写法较为固定**
3.PlayableBehaviour基类

自定义当前片段生命周期以及处理片段间混合时的情况。

可通过Project->Create->Playables->Playable Behaviour C# Script创建
看官方的Timeline插件都是将片段生命周期和片段间混合分成两个脚本来写。

具体常用的生命周期函数有:

在这里插入图片描述

PrepareFrame:类似mono中的Update方法:每一帧进行调用(Clip上的每一帧)

官方的文档台敷衍了。具体写法可以自行摸索

三.文档说明与官方插件

本文档所有内容皆是来自Unity官方Timeline教程,这里只是对视频内容进行整理方便自己查阅
https://www.bilibili.com/video/BV1gt4y1Y7LY?from=search&seid=2133946192700047914

TimeLine具有非常强大的扩展性(Flexible),其中官方就有对应的插件内容

Default Playables 常用的自定义轨道插件。
可以参考其代码
在这里插入图片描述

在这里插入图片描述

重要的参考资料 Unity内部制作timeline的工程师写的

https://mp.weixin.qq.com/s?__biz=MzU5MjQ1NTEwOA==&mid=2247493316&idx=1&sn=7e4fef834a8066faca3d2f1f1a090bb4&chksm=fe1dd26fc96a5b79856840f556cf65026facb83520ac1891605e42d5e777d30a0d5219060e21&mpshare=1&scene=1&srcid=0606YJLYnfprk9UjpPQCnre1#rd

四.快速创建自定义轨道编辑器

需要安装插件
https://docs.unity3d.com/es/2019.4/Manual/com.unity.playablegraph-visualizer.html
在这里插入图片描述
在这里插入图片描述
填好后会自动生成Timeline四元素对应的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值