Timeline 编辑器扩展 API

Timeline编辑器扩展
PlayableDirector(控制器)
创建一个Track的方式(感谢。。。。。大佬)
PlayableDirector.playableAsset as TimelineAsset;
TimelineAsset.CreateTrack
TrackAsset(自定义轨道类型)
接口
CreatePlayable //创建一个PlayableBehaviour时触发,有多少个片段触发多少次
CreateTrackMixer //至少有一个片段,创建轨道时触发,已经获取所有的Clip实例
类Attribute
[TrackClipType(typeof(MyPlayableAsset))] //轨道的信息资源
[TrackBindingType(typeof(GameObject))] //决定Track能放什么类型的参数
[TrackColor(0, 1, 0)] //给轨道定义颜色
PlayableAsset(资源)
API
ScriptPlayable.Create() //创建Playable
GetGameObjectBinding(director); //获得轨道绑定的game object
PlayableBehaviour(行为)
接口
PrepareFrame //循环播放刷新时调用
OnBehaviourPlay //进入该行为片段时调用
OnBehaviourPause //退出该行为片段时调用
OnPlayableCreate //创建时、编辑器模式选中tiemline时
OnGraphStart //创建后、播放时
OnGraphStop //停止时,编辑器模式选中其他对象时
OnPlayableDestroy //同上,在停止后调用
Playable
API
playable.GetTime() //获取该片段当前的播放时间进度
QA
如何把PlayableBehaviour的变量显示在面板上?
通过PlayableAsset声明一个PlayableBehaviour(需要打上Serializable)
然后ScriptPlayable.Create(,);将其PlayableBehaviour放到第二个参数
如何获得PlayableDirector以控制播放?
PlayableBehaviour:playable.GetGraph().GetResolver() as PlayableDirector;
PlayableAsset:graph.GetResolver() as PlayableDirector;
如何把场景的Object设置到剪辑的成员变量?
使用声明ExposedReference变量就可以拖拽了
一个轨道可以有多种Clip吗?
可以,TrackAsset上的TrackClipType写的是PlayableAsset的父类,这样只需新增PlayableAsset基层写的那个就可以有多种了。
————————————————
版权声明:本文为CSDN博主「秋雨之忆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_36633019/article/details/92841612

上一篇:hdu 1159, LCS, dynamic programming, recursive backtrack vs iterative backtrack vs incremental, C++ 分类: hdoj 2015-07-10 04:14 112人阅读 评论(0) 收藏


下一篇:Mybatis内部模块之---数据源模块