一、Timeline简介

1.1 入口

Window->Sequencing->Timeline

1.2 自带Track简介


1) Track Group
Track组,可以放多个track,可以用来按组分类划分
2) Activation Track
激活Track,用来控制GameObject是否激活
3) Animation Track
用来控制Animation的播放
4) Audio Track
用来控制Audio的播放
5) Control Track
用来控制prefab、特效、gameobject等的时间线控制,且在clip外会自动销毁
6) Signal Track
用来发射信号,出发事件
7) Playable Track
用户自定义的轨道

二、Signal介绍

信号,可以广播,是timeline触发事件的媒介,因为其具有广播的性质,所以比event的名字更适合

2.1关于信号的使用

2.1 如何添加信号

1)右击任何一个Track,在弹出的菜单栏中点击Add Signal Emitter即可添加信号

2)信号添加好后,会出现下图中的游标,带警告的游标说明没有选择要触发的信号类型(Emit Signal为none)

3)选中Signal游标,在检视版中选择触发的信号类型

4)Signal选好后,需要在下方添加一个Signal Receiver用来选择接收信号的方法,同按钮点击事件,不在赘述

5)至此当timeline播放到signal游标处就会触发对应的事件了,(注意,signal触发的事件,只有signal所在track上的对象上的signal receiver生效)

2.1.2 如何添加带参信号

1)继承SignalEmitter,实现一个新的信号触发器,并在其中加入新的参数

2)添加自定义的信号。当创建了新的SignalEmitter时,timeline会在原添加信号菜单处加入添加新信号的菜单

3)选择信号类型同普通信号。
4)signal receiver需要自己实现,在挂在track的对象上,这个时候就可以通过 notification获取带参信号的参数了~

三、关于自定义Track

timeline很强大,除了自带的轨道,还可以自己定义轨道,从而能够根据自身需要添加timeline clip

3.1 如何自定义Track

3.1.1 创建新轨道

1)很简单,继承TrackAsset就可以了

2)这个时候右击timeline的菜单中就出现自定义的轨道了

3)track常用的3条特性

1>[TrackColor(0,0,0)]控制轨道flag的颜色
2>[TrackClipType(typeof(TestDemoAsset1))] 可以添加哪些clip类型
3>[TrackBindingType(typeof(TestTimeline))] 指定可以使用此track的对象类型

3.1.2 创建clip类型

1)创建playableasset和playablebehaviour

2)自定义asset的参数,且参数需要通过对应的behaviour传递

3)实现behaiour

4)至此自定义的clip就创建完成了

3.1.3 关于混合behaviour

1)混合behaviour主要用于处理两个clip重叠部分的表现。

2)创建混合baviour。需要在track类里创建。

3)实现混合behaviour。和clip的behaviour一样,只是要根据多个clip的权重,来调整behaiour效果

03-05 20:31