【Unity】Timeline编辑器扩展

5 篇文章 0 订阅

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的变量显示在面板上?
    1. 通过PlayableAsset声明一个PlayableBehaviour(需要打上Serializable)
    2. 然后ScriptPlayable.Create(,);将其PlayableBehaviour放到第二个参数

  • 如何获得PlayableDirector以控制播放?
    • PlayableBehaviour:playable.GetGraph().GetResolver() as PlayableDirector;
    • PlayableAsset:graph.GetResolver() as PlayableDirector;

  • 如何把场景的Object设置到剪辑的成员变量?
    • 使用声明ExposedReference变量就可以拖拽了

  • 一个轨道可以有多种Clip吗?
    • 可以,TrackAsset上的TrackClipType写的是PlayableAsset的父类,这样只需新增PlayableAsset基层写的那个就可以有多种了。
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值