animation-pipeline-summary.md 4.0 KB

动画体系阶段性小结

1. 当前定位

目前动画体系已经从“页面里临时加 class”的阶段,进入了有主链、有分层、有性能分级的阶段。

当前主链可以概括为:

  • 事件触发
  • feedbackConfig
  • UiEffectDirector
  • FeedbackDirector
  • MapEngine
  • 页面层 / 渲染层消费

也就是:

事件 -> 效果配置 -> 宿主提交 -> 页面 / Renderer 落地

这说明动画已经不再是零散实现,而开始进入架构化管理。


2. 已经完成的内容

2.1 HUD 动效

已经完成:

  • 打点成功后的 进度 动效
  • 打点成功后的 点距 动效
  • HUD 数字轻量过渡:
    • 计时
    • 里程
    • 速度
    • 心率

这些动效已经接入正式链路,不是页面单独临时处理。

2.2 地图空间动画

已经完成:

  • 当前目标点状态强调
  • 可打点状态强调
  • 已完成点状态过渡
  • 已跳过点灰态与标记
  • 开始点 / 终点完成后的 settle 外环
  • 轻量地图 pulse

2.3 局部 UI / Stage 动效

已经完成:

  • 轻量 stage flash
  • 顶部提示和局部反馈的基础动画承载链

2.4 动画性能分级

已经完成 2 级动画分级:

  • standard
  • lite

当前 lite 的主要策略包括:

  • 减少 pulse 层数
  • 降低几何分段
  • 降低渲染动画频率
  • 关闭部分 HUD 动画
  • 关闭或减弱某些 stage/UI 动效

这意味着动画体系已经开始考虑低端机表现,不是只追求效果。


3. 当前架构上的价值

动画体系现在已经带来了几个明确收益:

  • 动效不再散落在多个页面细节里
  • 高频状态变化有了统一反馈语言
  • 地图状态和 HUD 状态开始形成一致体验
  • 性能分级已经进入体系,可服务低端机

从架构角度看,这意味着:

动画已经成为正式能力层,而不是临时视觉补丁。


4. 当前还不够完整的地方

虽然主链已经成型,但当前还没有完全形成“动画字典”和完整 profile 体系。

目前仍然存在这些不足:

  • 哪些事件触发哪些动画,还没有整理成统一字典
  • 部分高频状态切换还不够连续
  • 跳点 已有逻辑和状态,但动画语言还不完整
  • 危险/高压状态动画还没有正式开始
  • 动画 profile 还没有真正配置化

所以当前阶段可以定义为:

第一阶段后半段:主链已成型,但还需要把高频体验打磨完整。


5. 下一阶段最值得做的事情

5.1 先整理动画字典

建议先把动画按事件梳理出来,例如:

  • session_started
  • control_ready
  • control_completed:start
  • control_completed:control
  • control_completed:finish
  • control_skipped
  • gps_lock_changed
  • guidance_state_changed
  • heart_rate_zone_changed

并明确每个事件对应:

  • 地图动画
  • HUD 动画
  • UI 动画
  • lite 下是否保留

这一步是当前最值得优先完成的工作。

5.2 补完整“目标状态切换连续感”

继续打磨:

  • 当前目标
  • 进入可打点
  • 打点成功
  • 切到下一个目标

让这一整段切换更连贯、更有节奏。

5.3 补齐“跳点”动画

建议下一步把跳点也正式纳入动画体系:

  • 跳点确认后
  • 当前点灰化
  • 下一个目标接管强调
  • HUD 给出轻量反馈

5.4 再做危险 / 高压反馈

这部分适合进入下一阶段:

  • 高心率反馈
  • 危险区反馈
  • 幽灵追逐反馈
  • 边缘呼吸 / 紧张感动效

这条线很适合后续玩法扩展。


6. 建议的实施顺序

推荐继续推进的顺序:

  1. 动画字典整理
  2. 目标切换连续感补齐
  3. 跳点动画补齐
  4. 危险 / 高压状态动画
  5. 更进一步的配置化 profile

7. 结论

当前动画体系已经是一个明确的阶段性成果:

  • 有主链
  • 有分层
  • 有高频核心动画
  • 有性能分级

接下来最该做的不是“继续零散加动画”,而是:

把现有能力收成动画字典,并优先打磨目标切换与跳点这两条高频体验链。