Grandpa's Bedtime Stories(爷爷的睡前故事)是一本 WebXR 睡前故事书。一位带英国口音的虚拟爷爷会对着你给的一张静态照片讲故事,照片随后变成能在 AR 里探索的 3D 场景。这是 Build Small Hackathon 的参赛作品(Thousand-Token Wood 赛道),核心讲故事模型是 MiniCPM-o 4.5。
玩法
从相册里挑一张照片,或者上传自己的。然后指着画面里任何东西提问,爷爷会讲他的看法:这个人穿的是什么、画面里在发生什么、他觉得这是哪个国家。问什么全看你。
- 演示视频:YouTube
- 社区帖子:Reddit r/OculusQuest
使用要求
- 需要麦克风。你用语音和爷爷说话,他也用语音回答。
- 建议戴耳机,或者找个安静的地方,免得爷爷的声音从扬声器出来又被麦克风收进去。
- 麦克风和 WebXR 都需要 HTTPS(localhost 除外)。
添加你自己的照片
点相册末尾的 + 格,从设备上传一张照片。爷爷会自动写一段说明文字,保存前你可以改。之后照片会被转成完整的 3D Gaussian splat,大概要一两分钟;第一次运行时 Modal 上的引擎需要预热,会更久。照片上限 20 MB / 4000 万像素,说明文字最多 400 个字符。
本地运行
Bash
pip install -r requirements.txt
# Deploy the Modal GPU endpoints first (only needed once, or after changes):
modal deploy modal_sharp.py
modal deploy modal_minicpmo.py
modal deploy modal_app.py
# Copy .env.example to .env and fill in your Modal API keys and endpoint URLs.
# Then start the Gradio server:
python app.py
# Open http://localhost:7860 in your browser.
操作方式
桌面与移动浏览器
| 输入 | 操作 |
|---|---|
| 拖动 | 环绕视角,看看场景四周 |
| 滚轮 | 放大 / 缩小 |
| 双指捏合 | 放大 / 缩小(触控板 / 触摸屏) |
| 点击 | 快速选中一个区域 |
| 双击 + 拖动 | 自己画选框 |
AR:头显(Meta Quest / Pico)
| 输入 | 操作 |
|---|---|
| 扳机键 | 手柄对准后按下,画选框 |
| 握持键 | 按住并移动,平移画面 |
| 双手握持 | 双手捏合缩放 |
| 摇杆 | 前推 / 后拉缩放 |
| HUD(左下角) | 返回 · 清除选区 · 重置视角 |
也支持手势追踪:捏合代替扳机键,握拳代替握持键。
AR:手机(Android)
| 输入 | 操作 |
|---|---|
| 单指拖动 | 画选框 |
| 点击 | 快速选中一个区域 |
| 双指触控 | 捏合缩放 · 滑动平移 |
