前言
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编辑时预览接口