3d-8dc4ee84
Revision 1
Initial draft
灯灯 Lumi:住在 ESP-Mosaico 里的 3D 体素小宠物
灯灯是一只会发光的小水母精灵,住在你桌上的 ESP-Mosaico 里。它用实时渲染的 3D 体素风格呈现,会对你的触摸、倾斜、摇晃和呼唤做出反应,房间的光线也跟着真实时间从清晨变到深夜。
照顾它的方式很温和:灯灯永远不会生病或死去。饿了、困了、无聊了,它只是看起来有点蔫,等你来陪它。
你可以和灯灯做什么
| 操作 | 灯灯的反应 |
|---|---|
| 摸摸它的头 | 眯眼享受,冒出爱心,身体变亮 |
| 点一下它的头 | 吓一跳,然后咯咯笑;睡着时会被叫醒 |
| 点它的触须 | 触须蜷起来,笑得停不下来 |
| 点地板 | 游到你点的位置 |
| 倾斜设备 | 像在水里一样带着惯性漂过去 |
| 持续摇晃 1 秒 | 转圈圈、头晕眼花 |
| 屏幕朝下扣在桌上 | 睡觉;拿起来就醒 |
| 左右拖动空白处 | 旋转视角,松手后吸附到最近的角度 |
| 上下拖动空白处 | 调整俯视角度 |
底部工具栏可以喂星星(吃完身体会染上星星的颜色)、扔球一起玩、泡泡浴、哄它睡觉,以及切换场景。
五个场景
- 卧室:有窗户、书架、台灯和地毯。白天阳光明亮,夜里窗外有星星,台灯亮起。
- 海底:沙地、礁石、珊瑚和会反光的珍珠贝,海草摇曳,光斑晃动,发光的小鱼游来游去。
- 鱼缸:玻璃缸里有城堡、水草和冒泡的气泵,还有两条小丑鱼。
- 赛博空间:霓虹网格和光柱,数据方块在空中漂浮。
- 丛林:草地、小池塘、大树和蘑菇,萤火虫在里面飞。
每个场景都有自己的小伙伴,点一下它们,灯灯就会去追,追到了会开心,身体还会染上小伙伴的颜色。
语音口令(实验性)
在设备上离线识别,声音不会离开设备,也不需要联网。每条口令都带着它的名字:
- 你好灯灯、灯灯过来、灯灯转个圈
- 灯灯晚安 / 灯灯睡觉、灯灯起床
- 灯灯吃饭、灯灯洗澡、灯灯玩球
- 灯灯真棒 / 灯灯好乖
- 灯灯去房间 / 海底 / 鱼缸 / 赛博 / 丛林
灯灯不会说话,它用叫声和动作回应你。点右上角的麦克风图标可以关掉监听,关闭状态会保存下来。语音功能仍在调校中,识别效果和误触发会随环境噪音变化。
其他细节
- 跟随真实时间的昼夜:从右上角 Wi‑Fi 图标或屏幕顶端下拉,就能在屏幕上选择网络、输入密码,连上后自动对时。密码只保存在设备上,不会写进日志。
- 存档:饱腹、心情、精力、亲密度和当前场景都会自动保存,关机再开机都还在。离开得久了,灯灯会有点饿,但也会很高兴见到你。
- 声音和振动:每个动作都有程序合成的叫声,配合马达振动反馈。
- 电量感知:电量低时灯灯会犯困,插上充电器它会开心。
技术亮点
- 自研体素渲染器:240×240 的深度缓冲光栅化,2 倍放大到 480×480 屏幕;只重绘变化的区域,场景旋转时自动剖开遮挡视线的前景物体。
- 使用 Raylib Lite Engine,游戏逻辑是一份共享的 C 代码,电脑上的模拟器和设备上跑的是同一套。
- 离线语音基于 ESP-SR 中文命令词模型 MultiNet7,不用唤醒词;只在检测到有人说话时才运行识别,以减少对渲染的影响。
- 保留 ESP-Mosaico 的 Vibe Mode 恢复固件,随时可以回到基础固件。
硬件要求
- ESP-Mosaico 主板(ESP32-S31,16 MB Flash)
- 不需要扩展子板
- 摄像头功能(人脸跟随、关灯自动睡觉)还在开发中,这一版固件没有包含
安装说明
通过 Iris 固件包安装。安装会调整应用区的分区布局,新增一个 4 MB 的语音模型分区;Vibe Mode 恢复固件和它保存的配置不受影响。