前言

Motion是一个时间轴,组织各种逻辑,只起到流程控制作用。

抽象

Runtime

  • MotionClip。纯数据,存储各种NotifyState
  • NotifyState。事件配置,纯数据,实现接口创建NotifyStateObj
  • NotifyStateObj。事件逻辑实例,各种逻辑就写在这里,提供Begin、Tick、End事件可供子类重写
  • MotionState。运行时实例,引用MotionClip,管理NotifyStateObj
  • MotionSystem。Motion管理器,管理所有MotionState实例,内部维护一个MotionState状态机,同时只能有一个状态,但可以有多个后台状态

Editor,基于unity timeline

  • NotifyStateTrack。timeline三件套之一,将MotionClip中的NotifyState分轨道排列
  • NotifyStateAsset。timeline三件套之一,引用NotifyState,可面板编辑
  • NotifyStateBehaviour。timeline三件套之一,提供Motion编辑时预览接口

演示

蓄力技能 参考
连招 参考