关于Unity的TimeLine的梳理
最近在Unity官网上看了 M_Studio 的timeline的介绍,于是想看看代码中如何操作timeline。
于是 我先看了官方文档对Timeline的介绍,然后从网上找资料看如何代码控制,看的糊里糊涂的。
建议看完手册 Timeline的介绍,看下“动画”里面“PlayablesAPI”一节,最后再看脚本API里面的Playables里面的代码。
大概过程:
首先抛开TimeLine,学习一下图,就是PlayableGraph,图是一个整体。图里面有输出线,如上图。里面的内容分为两种:Output和Playable。新建个图,使用图创建Output,使用动画clip,声音clip,或者脚本 这些原始资源,创建Playable对象,最后将Output和Playable连接在一起,最后执行图的Play函数。
再来说TimeLine,TimeLine就是用图去播放动画声音脚本的。TimeLine有个控制器PlayableDirector,它里面有个变量playableAsset类型为PlayableAsset,它就是可播放的资源,就是保存下来的TimeLine资源。PlayableAsset里面有outputs变量,他是各个Track,它里面的属性:
streamName 轨道名称
sourceObject 对于Animation来说他是用来绑定对象的key,修改绑定的对象,SetGenericBinding(key, newObj);key就是这个值;
你可以将它强制转换(PlaytableTrack)sourceObject; 得到Track,通过Track还可以GetClips获取所有的片段。
总结来说,TimeLine用PlayableAsset,PlayableBehaviour,PlayableBinding,TimelineClip 等对 图进行了外包装。包装完之后,我们就能在编辑器中拖来拖去了。