4.7 KiB
4.7 KiB
帧动画系统第五阶段手动测试
1. 测试准备
- 在 Unity 执行
Tools > Frame Animation > Create Phase 5 Preview Sample。 - 打开
Assets/GameContent/Test/FrameAnimation/Preview/PreviewSampleGraph.asset。 - 确认通过 Inspector 的
Open Graph Editor进入工作台。 - 首次测试前将 Node Preview Policy 设为
SelectedOnly、速度设为1×、背景设为Checkerboard。
样例构建器只在资产不存在时创建,不会覆盖已经存在的 Preview Sample 或其他测试 Graph。
2. Clip 独立预览
依次选中 PreviewAction、PreviewEmpty 和 PreviewIdle。
- 右侧显示 Clip Preview,顶部与右侧的 Play/Pause、Stop、Restart、Previous、Next 和时间轴保持同步。
- Pause 保留当前帧;Stop 回到实际第 0 帧;Restart 从第 0 帧开始播放。
- 拖动时间轴后保持 Paused,Previous/Next 定位到帧边界。
PreviewEmpty的空帧显示棋盘格并停留约 300 ms,不跳帧。PreviewIdle展示一轮时间轴,总时长显示∞,播放时持续循环。- 切换 Dark、Light、Checkerboard 后画面背景立即更新,Graph 和 Clip 不变 dirty。
- 测试 Fit、1×、2×、3×、4×、8× 和 Manual;非 Fit 放大后可拖动画面。
3. Node 内嵌预览策略
- 选择
Finite ActionNode。 - 在
SelectedOnly下确认只有主选中 Node 自动播放。 - 点击 Stop,确认该 Node 停在第 0 帧且不会立即自动重启;重新选择或点击 Play 后恢复。
- 切换
Static,确认所有 Node 显示第一个非空代表帧,选中 Node 仍可使用顶部控制器手动播放。 - 切换
AllVisible,确认视口内 Node 播放;平移使 Node 离开视口后停止更新,移回后重新开始。 - 框选多个 Node,确认只有主选中 Node成为顶部上下文目标。
4. 有限 Flow 与跨节点时间轴
- 在 Flows 选择
PreviewFiniteFlow并播放。 - 确认画布当前 Node、已经过路径和后续路径状态不同。
- 播放跨过
Finite Action -> Finite Empty时,当前 Node 和 Clip 信息随之切换。 - 拖动顶部时间轴跨越节点边界,确认对应 Node 与内嵌 Sprite 同步定位。
- Previous/Next 可以跨节点逐帧。
- 播放自然结束后保留终点末帧;Stop 回到入口第 0 帧。
5. Loop、零速与结束行为
PreviewLoopFlow:时间轴显示前缀加终点一轮,总时长为∞;进入终点后进度只在终点循环段内循环。PreviewBlockedFlow:显示零速度阻塞位置,播放状态保持但不推进,时间轴不能越过阻塞点。PreviewClearFlow:自然结束后显示透明棋盘格并标记 Clear。PreviewHideFlow:自然结束后同样显示透明内容,但状态标记为 HideTarget。- 将预览速度依次设为
0.25× / 0.5× / 1× / 2× / 4×,确认只改变播放快慢,不改变时间轴总长度。
6. Flow 预览与聚焦
- 播放任意 Flow,按 Esc 或点击 Exit Focus。
- 确认全部节点恢复正常亮度,但 Flow 预览继续运行。
- 选择当前 Flow 内 Node/Edge,确认 Flow 继续播放且顶部仍显示 Flow 目标。
- 选择 Flow 外 Node、Graph、Clip、Source 或其他 Flow,确认当前 Flow 预览停止并切换上下文。
- 停止 Flow 后确认原 NodePreviewPolicy 恢复。
7. 修改、刷新与错误
- 播放 Clip/Node 时修改 Sprite、duration、speed 或结束行为,确认预览重建且不使用旧帧引用。
- 播放 Flow 时修改入口、Edge 或 Node Clip,确认 Flow 安全停止,重新 Play 后使用新路径。
- Preview/Refresh ImportSource 后确认活动预览失效并可使用刷新后的 Sprite 重新播放。
- 空 Clip、Missing Clip、负速度和非法 Flow 显示结构化错误,不抛异常、不修改资产。
- 预览期间观察 dirty 状态和 Undo 历史,确认单纯播放、拖动与缩放不产生资产修改。
8. 工作区恢复
- 修改左右宽度、底部高度、搜索、筛选、排序、选择、画布 pan/zoom 和预览偏好。
- 切换到其他 Graph 再切回,确认各 Graph 状态独立恢复。
- 关闭并重新打开窗口,确认状态恢复。
- 触发脚本重编译或 Domain Reload,确认状态恢复但播放进度不恢复。
- 确认 Flow 聚焦始终从 Show All 开始,不恢复旧 focusedFlowId。
9. 第一版完整回归
- 按第一至第四阶段文档回归资产管理、导入刷新、节点编排、Flow 聚焦、Undo/Redo 和运行时播放。
- 在
FrameAnimationRuntimeTest.unity验证 SpriteRenderer 与 Image 运行时结果和编辑器预览一致。 - 运行 EditMode、PlayMode、批处理编译和
git diff --check。 - 对照
Docs/动画系统需求整理.md第 9 节逐项确认第一版验收标准。