使用TimeLine添加音轨/动画 事件点
建立 Signal Emitter 、Signal Receiver和Signale Asset之间的联系
Signal Emitter : 发送器,它就是轨道中的一个标记。当动画或者音乐执行经过Mark标志时就会触发事件。它包含着对Signal Asset的引用。
Signal Receiver :它是监听者,被添加到GameObject上。
Signal Asset: 连接着Signal Emitter 和signal Receiver
方法
1、创建一个 Signal Emitter标记点,
2、点击 Create Signal Asset 创建一个Signal Asset,并进行命名 ”showkey“,点击保存到项目中。
3、点击 Add Signal Receiver 添加监听者,他会在此Timeline在的GameObject添加SignalReceiver脚本,选择对应的方法
使用脚本添加
TrackAsset.CreateMaker < SignalEmitter >( time ) . asset = SignalAsset
TrackAsset 表示当前音轨或者动画轨道,在上面添加SignalEmitter ,time则是在某个时间段,asset = SignalAsset 则是将signalEmitter 和 SignalRegister联系起来。
SignalRegister.AddReaction( SignalAsset , UnityEvent )
UnityEvent 是最终监听的执行方法,SignalAsset则是上面的SignalAsset
UnityEvent.AddListener(XXX)
通过这样的一系列方法,就能实现timeline中轨道执行并触发监听事件。
参考:https://blog.unity.com/technology/how-to-use-timeline-signals