194 lines
4.0 KiB
Markdown
194 lines
4.0 KiB
Markdown
# 动画体系阶段性小结
|
||
|
||
## 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. 结论
|
||
|
||
当前动画体系已经是一个明确的阶段性成果:
|
||
|
||
- 有主链
|
||
- 有分层
|
||
- 有高频核心动画
|
||
- 有性能分级
|
||
|
||
接下来最该做的不是“继续零散加动画”,而是:
|
||
|
||
**把现有能力收成动画字典,并优先打磨目标切换与跳点这两条高频体验链。**
|
||
|
||
|