docs: add motion demo entry and warmup specs
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
2026-05-09 23:55:10 +08:00
parent dada5a4797
commit 1767bed609
5 changed files with 1222 additions and 0 deletions

View File

@@ -0,0 +1,529 @@
# 儿童动作识别互动玩法 Demo 热身关开发文档
> 日期2026-05-09
> 适用范围:儿童动作识别互动玩法 Demo 的固定启动热身关
> 文档性质:玩法 Demo 开发设计文档
> 说明:本文整理当前已确认的热身关内容、体验、流程和热身数据记录要求。
## 1. 热身关定位
热身关是 Demo 启动后的固定流程,用于在正式进入后续趣味学习关前完成以下事项:
- 调用摄像头;
- 识别用户和环境;
- 引导用户来到建议互动位置;
- 教学基础交互方式;
- 确认用户可在互动空间内完成左右移动、挥手和跳跃;
- 记录用户左右移动距离、挥动手臂空间和跳跃空间,作为后续关卡的空间边界与行为坐标;
- 完成后进入关卡选择。
热身关不接入创作模块,不作为可配置玩法模板提供给创作者。
## 2. 屏幕与设备适配
本产品适用于电视屏幕、电脑屏幕等环境。
热身关制作表达使用横屏比例。
## 3. 画面基础表现
用户进入热身关后,摄像头被调用,并开始识别用户和环境。
画面基础表现如下:
1. 在屏幕中央位置的地面生成预设的绿色圆环,作为建议位置的指引。
2. 将用户的实际位置生成角色剪影,作为用户在画面中的标识。
3. 只对摄像头背景做虚化处理,用于表达对用户隐私的保护、屏蔽周围环境干扰,并营造空间感。
## 4. 通用检测与引导规则
### 4.1 不允许跳过
热身关每个步骤都必须由用户完成,不允许跳过,也不允许系统自动进入下一步。
### 4.2 引导动画播放规则
每个动作等待 3 秒后可以播放引导动画。
当前不设置最长等待时间。
### 4.3 绿色圆环完成规则
用户到达绿色圆环后,绿色圆环进入 2 秒选中状态。
用户需要在绿色圆环内保持停留 2 秒,才算完成该圆环位置检测。
### 4.4 左右距离映射规则
“约半米”的左右移动距离,技术上以角色剪影移动距离为准。
该距离后续会根据实际体验继续调校。
### 4.5 手势区分规则
招手 / 摆手、挥动左手、挥动右手三类动作需要有动作区分。
手势检测仅对肢体进行区分,不对手部细节进行区分。
### 4.6 手势引导规则
挥动哪只手,就使用对应手的引导。
## 5. 热身关完整流程
### 5.1 进入热身关
#### 画面表现
- 摄像头被调用。
- 系统识别用户和环境。
- 屏幕中央位置的地面出现预设绿色圆环。
- 用户实际位置以角色剪影形式显示。
- 只对摄像头背景做虚化处理,保留空间感。
#### 屏幕文字与语音
屏幕中上方浮现文字,同时语音播报:
```text
欢迎你,小朋友,见到你真开心
```
随后继续播报:
```text
请你来到圆圈这里和我打个招呼吧
```
#### 检测逻辑
系统检测用户是否到达屏幕中央绿色圆环位置。
用户到达圆环后,绿色圆环进入 2 秒选中状态。用户保持停留 2 秒后,该步骤完成。
#### 完成反馈
用户完成中央圆环位置检测后:
- 播放圆圈消失特效;
- 进入招手手势教学步骤。
---
### 5.2 招手教学
#### 画面表现
播放招手的手势引导。
若用户进入该步骤后 3 秒仍未完成动作,可以播放引导动画。
#### 检测逻辑
系统检测用户是否完成招手 / 摆手手势。
该动作与后续挥动左手、挥动右手需要有动作区分,但仅对肢体进行区分,不对手部细节进行区分。
#### 完成反馈
用户完成招手 / 摆手手势后,进入下一步。
---
### 5.3 热身说明
#### 屏幕文字与语音
```text
你好呀小朋友,为了你玩的安全和开心,先来和我一起热个身吧
```
播放完成后进入左右移动热身步骤。
---
### 5.4 向左一步
#### 屏幕文字与语音
```text
向左一步
```
#### 画面表现
屏幕中心向左一个身位,约半米的地面位置,出现新的绿色圆圈。
“约半米”技术上以角色剪影移动距离为准,后续根据体验调校。
#### 检测逻辑
系统检测用户是否到达该绿色圆圈位置。
用户到达圆环后,绿色圆环进入 2 秒选中状态。用户保持停留 2 秒后,该步骤完成。
#### 完成反馈
用户完成后播放鼓励语:
```text
真棒
```
同时记录本次向左移动距离,作为后续关卡中的左侧空间边界参考。
完成后进入“回到中间来”。
---
### 5.5 回到中间来(一)
#### 屏幕文字与语音
```text
回到中间来
```
#### 画面表现
场地中心位置出现绿色圆圈。
#### 检测逻辑
系统检测用户是否到达场地中心绿色圆圈位置。
用户到达圆环后,绿色圆环进入 2 秒选中状态。用户保持停留 2 秒后,该步骤完成。
#### 完成反馈
用户完成后播放鼓励语:
```text
真棒
```
完成后进入“向右一步”。
---
### 5.6 向右一步
#### 屏幕文字与语音
```text
向右一步
```
#### 画面表现
屏幕中心向右一个身位,约半米的地面位置,出现新的绿色圆圈。
“约半米”技术上以角色剪影移动距离为准,后续根据体验调校。
#### 检测逻辑
系统检测用户是否到达该绿色圆圈位置。
用户到达圆环后,绿色圆环进入 2 秒选中状态。用户保持停留 2 秒后,该步骤完成。
#### 完成反馈
用户完成后播放鼓励语:
```text
真棒
```
同时记录本次向右移动距离,作为后续关卡中的右侧空间边界参考。
完成后进入“回到中间来”。
---
### 5.7 回到中间来(二)
#### 屏幕文字与语音
```text
回到中间来
```
#### 画面表现
场地中心位置出现绿色圆圈。
#### 检测逻辑
系统检测用户是否到达场地中心绿色圆圈位置。
用户到达圆环后,绿色圆环进入 2 秒选中状态。用户保持停留 2 秒后,该步骤完成。
#### 完成反馈
用户完成后播放鼓励语:
```text
真棒
```
完成后进入左手挥动教学。
---
### 5.8 挥动左手
#### 屏幕文字与语音
```text
挥动左手
```
#### 画面表现
播放伸展手臂挥动左手的手势引导。
若用户进入该步骤后 3 秒仍未完成动作,可以播放引导动画。
#### 检测逻辑
系统检测用户是否完成挥动左手手势。
该手势检测仅对肢体进行区分,不对手部细节进行区分。
#### 完成反馈
用户完成后播放鼓励语:
```text
真棒
```
同时记录用户挥动左手的空间,保存为该用户对应的行为坐标。
完成后进入右手挥动教学。
---
### 5.9 挥动右手
#### 屏幕文字与语音
```text
挥动右手
```
#### 画面表现
播放伸展手臂挥动右手的手势引导。
若用户进入该步骤后 3 秒仍未完成动作,可以播放引导动画。
#### 检测逻辑
系统检测用户是否完成挥动右手手势。
该手势检测仅对肢体进行区分,不对手部细节进行区分。
#### 完成反馈
用户完成后播放鼓励语:
```text
真棒
```
同时记录用户挥动右手的空间,保存为该用户对应的行为坐标。
完成后进入跳跃教学。
---
### 5.10 原地跳一下
#### 屏幕文字与语音
```text
原地跳一下
```
#### 画面表现
播放跳跃姿势引导。
若用户进入该步骤后 3 秒仍未完成动作,可以播放引导动画。
#### 检测逻辑
系统检测用户是否完成跳跃姿势。
#### 完成反馈
用户完成后:
- 记录用户跳跃空间,保存为该用户对应的行为坐标;
- 播放热身结束特效、上浮字幕和语音:
```text
真厉害,你是我见过最聪明的小朋友
```
随后继续播放:
```text
别走开,现在开始我们的游戏吧
```
热身关结束,进入关卡选择。
## 6. 流程状态表
| 顺序 | 步骤 | 屏幕文字 / 语音 | 画面表现 | 检测目标 | 完成后反馈 |
|---:|---|---|---|---|---|
| 1 | 进入热身关 | 欢迎你,小朋友,见到你真开心;请你来到圆圈这里和我打个招呼吧 | 中央地面绿色圆环;用户角色剪影;摄像头背景虚化 | 用户到达中央圆环并保持 2 秒 | 圆圈消失特效 |
| 2 | 招手教学 | 同上流程延续 | 招手手势引导;等待 3 秒可播放引导动画 | 招手 / 摆手 | 进入下一步 |
| 3 | 热身说明 | 你好呀小朋友,为了你玩的安全和开心,先来和我一起热个身吧 | 保持热身引导状态 | 无新增动作检测 | 进入移动热身 |
| 4 | 向左一步 | 向左一步 | 左侧约半米处绿色圆圈 | 用户到达左侧圆环并保持 2 秒 | 真棒;记录左侧空间边界 |
| 5 | 回到中间来 | 回到中间来 | 中心位置绿色圆圈 | 用户到达中心圆环并保持 2 秒 | 真棒 |
| 6 | 向右一步 | 向右一步 | 右侧约半米处绿色圆圈 | 用户到达右侧圆环并保持 2 秒 | 真棒;记录右侧空间边界 |
| 7 | 回到中间来 | 回到中间来 | 中心位置绿色圆圈 | 用户到达中心圆环并保持 2 秒 | 真棒 |
| 8 | 挥动左手 | 挥动左手 | 伸展手臂挥动左手手势引导;等待 3 秒可播放引导动画 | 挥动左手 | 真棒;记录左手挥动空间 |
| 9 | 挥动右手 | 挥动右手 | 伸展手臂挥动右手手势引导;等待 3 秒可播放引导动画 | 挥动右手 | 真棒;记录右手挥动空间 |
| 10 | 原地跳一下 | 原地跳一下 | 跳跃姿势引导;等待 3 秒可播放引导动画 | 跳跃姿势 | 记录跳跃空间;真厉害,你是我见过最聪明的小朋友;别走开,现在开始我们的游戏吧;进入关卡选择 |
## 7. 固定文案与语音清单
以下文案需要作为屏幕中上方浮现文字,并同步语音播报。
```text
欢迎你,小朋友,见到你真开心
请你来到圆圈这里和我打个招呼吧
你好呀小朋友,为了你玩的安全和开心,先来和我一起热个身吧
向左一步
真棒
回到中间来
真棒
向右一步
真棒
回到中间来
真棒
挥动左手
真棒
挥动右手
真棒
原地跳一下
真厉害,你是我见过最聪明的小朋友
别走开,现在开始我们的游戏吧
```
## 8. 需要开发支持的识别能力
热身关当前流程需要支持以下识别能力:
1. 摄像头调用;
2. 用户识别;
3. 环境识别;
4. 用户实际位置识别;
5. 用户是否到达中央绿色圆环位置;
6. 用户是否在绿色圆环内持续保持 2 秒;
7. 用户是否到达左侧约半米绿色圆环位置;
8. 用户是否到达右侧约半米绿色圆环位置;
9. 招手 / 摆手手势识别;
10. 挥动左手识别;
11. 挥动右手识别;
12. 原地跳跃姿势识别;
13. 用户左右移动距离记录;
14. 用户挥动手臂空间记录;
15. 用户跳跃空间记录。
## 9. 需要开发支持的表现能力
热身关当前流程需要支持以下表现能力:
1. 横屏比例显示;
2. 摄像头背景虚化;
3. 用户位置生成角色剪影;
4. 屏幕中央地面绿色圆环;
5. 左侧约半米地面绿色圆环;
6. 右侧约半米地面绿色圆环;
7. 绿色圆环 2 秒选中状态;
8. 圆圈消失特效;
9. 招手手势引导;
10. 伸展手臂挥动左手手势引导;
11. 伸展手臂挥动右手手势引导;
12. 跳跃姿势引导;
13. 热身结束特效;
14. 上浮字幕;
15. 语音播报。
## 10. 热身数据记录要求
热身关需要记录以下数据,用于后续关卡的空间边界和行为坐标判断。
### 10.1 左右空间边界
用户完成向左一步后,记录该移动距离,作为后续关卡中的左侧空间边界。
用户完成向右一步后,记录该移动距离,作为后续关卡中的右侧空间边界。
后续关卡中,当用户身体主体覆盖安全边界线时,对应侧屏幕边缘出现虚影提醒。
后续关卡中,当用户身体主体超出安全边界线时:
1. 关卡内容暂停;
2. 屏幕虚化;
3. 屏幕中央地面出现绿色圆圈;
4. 屏幕提示文案:
```text
小朋友,要注意安全哦
```
5. 用户需要回到中心绿色圆圈并保持 2 秒后,才能继续游戏内容。
### 10.2 手臂挥动空间
用户完成挥动左手后,记录用户挥动左手的空间,保存为该用户对应的行为坐标。
用户完成挥动右手后,记录用户挥动右手的空间,保存为该用户对应的行为坐标。
### 10.3 跳跃空间
用户完成原地跳一下后,记录用户跳跃空间,保存为该用户对应的行为坐标。
## 11. 热身关完成条件
热身关完成条件为用户按顺序完成以下流程:
1. 到达中央圆环位置并保持 2 秒;
2. 完成招手 / 摆手手势;
3. 到达左侧约半米圆环位置并保持 2 秒;
4. 记录左侧空间边界;
5. 回到中央圆环位置并保持 2 秒;
6. 到达右侧约半米圆环位置并保持 2 秒;
7. 记录右侧空间边界;
8. 回到中央圆环位置并保持 2 秒;
9. 完成挥动左手;
10. 记录左手挥动空间;
11. 完成挥动右手;
12. 记录右手挥动空间;
13. 完成原地跳一下;
14. 记录跳跃空间;
15. 播放热身结束特效和结束语音;
16. 进入关卡选择。
## 12. 数据保存方式
左右空间边界、手臂挥动空间、跳跃空间仅在当前 Demo 体验会话内保存。
这里的“当前 Demo 体验会话”指用户本次打开并体验 Demo 的过程。当用户关闭 Demo、刷新页面、退出当前体验流程、重新进入 Demo或更换设备后系统不再沿用上一次热身记录的数据需要重新完成热身关并重新记录。
采用仅当前 Demo 体验会话内保存的原因:
1. 每名用户的身高、体型、动作幅度不同,安全边界和行为坐标会发生变化。
2. 当前 Demo 不做特定用户识别,无法确认下一次体验的是否仍是同一名用户。
3. 用户所处的体验环境可能变化,包括房间大小、摄像头位置、屏幕位置和站立距离。
4. 为保证安全,每次体验都需要重新对环境和距离进行安全检查。
## 13. 后续待确认事项
当前暂无待确认事项。

View File

@@ -0,0 +1,89 @@
# 寓教于乐发现页临时入口设计
> 日期2026-05-09
> 适用范围:平台入口发现页、儿童动作识别娱乐教育内容线临时入口
> 文档性质:产品与前端落地边界
## 1. 目标
为儿童动作识别娱乐教育内容线提供一个临时入口。
入口放置在平台“发现”页面内,作为独立标签展示,标签名称为:
```text
寓教于乐
```
后续生产的该内容线模板和游戏关卡,都放置在“寓教于乐”独立标签下。
## 2. 展示边界
寓教于乐内容不直接展示在以下位置:
1. 推荐页;
2. 发现页的推荐标签;
3. 发现页的今日标签;
4. 发现页的分类标签;
5. 发现页的排行标签;
6. 发现页搜索结果。
寓教于乐内容只在“发现 / 寓教于乐”标签下展示。
## 3. 开关规则
该入口需要支持灵活开关。
开关打开时:
1. 发现页显示“寓教于乐”标签;
2. “寓教于乐”标签下展示该内容线内容;
3. 该内容线内容仍不进入推荐、今日、分类、排行和搜索结果。
开关关闭时:
1. 发现页隐藏“寓教于乐”标签;
2. 隐藏“寓教于乐”标签下内容;
3. 该内容线内容不进入推荐、今日、分类、排行和搜索结果。
## 4. 内容识别规则
临时阶段使用作品标签识别寓教于乐内容。
当公开作品标签中包含:
```text
寓教于乐
```
则该作品归入寓教于乐内容线。
## 5. 技术落地边界
本次只做前端入口和前端展示过滤,不新增后端接口。
前端通过功能开关控制入口显隐。
开关环境变量:
```text
VITE_ENABLE_EDUTAINMENT_ENTRY
```
默认开启。
当该变量显式配置为以下值时,入口关闭:
```text
false
0
off
no
```
## 6. 验收点
1. 开关打开时,发现页显示“寓教于乐”标签。
2. 开关关闭时,发现页不显示“寓教于乐”标签。
3. 带有“寓教于乐”标签的公开作品不进入推荐页。
4. 带有“寓教于乐”标签的公开作品不进入发现页推荐、今日、分类、排行和搜索结果。
5. 带有“寓教于乐”标签的公开作品只在“发现 / 寓教于乐”标签下展示。

View File

@@ -4,6 +4,7 @@
## 文档列表
- [CHILD_MOTION_DEMO_WARMUP_LEVEL_DESIGN_2026-05-09.md](./CHILD_MOTION_DEMO_WARMUP_LEVEL_DESIGN_2026-05-09.md)4-8 岁儿童动作识别互动玩法 Demo 固定热身关的横屏体验流程、识别目标、表现需求与待确认事项。
- [CUSTOM_WORLD_CREATOR_INPUT_AND_AI_BOUNDARY_DESIGN_2026-04-06.md](./CUSTOM_WORLD_CREATOR_INPUT_AND_AI_BOUNDARY_DESIGN_2026-04-06.md):自定义世界里百梦主输入与 AI 分工边界设计。
- [CUSTOM_WORLD_CREATOR_MANUAL_AI_SYSTEM_BALANCE_DESIGN_2026-04-12.md](./CUSTOM_WORLD_CREATOR_MANUAL_AI_SYSTEM_BALANCE_DESIGN_2026-04-12.md):自定义世界创作里“手填锚点 / AI 可改初稿 / 系统托管层”的平衡设计。
- [CUSTOM_WORLD_CREATOR_PURE_AGENT_COMPARISON_AND_CONVERSION_DESIGN_2026-04-12.md](./CUSTOM_WORLD_CREATOR_PURE_AGENT_COMPARISON_AND_CONVERSION_DESIGN_2026-04-12.md):纯 Agent 式创作工具与结构化工作台方案的优缺点对比,以及转型设计。