给女儿做的3D史前动物博物馆:18种史前动物免费开源
原帖摘要:一位父亲为三岁女儿打造的3D史前动物博物馆,收录18种史前动物,免费开源,无需注册,无广告。从最初几只恐龙到现在水陆空三栖动物,承载着父爱的技术实践。

📌 项目概述
开发者:leonleung(V2EX注册于2015年) 发布时间:2026年8月10日 项目性质:免费开源(GitHub链接见帖子) 在线体验:[项目在线链接] 目标用户:低幼龄儿童(开发者女儿三岁多)
收录动物:共18种史前动物,分为陆地、天空、海洋三类。
🦕 项目缘起:一个父亲的小实验
起因是女儿看动画片时,对恐龙的追逐、战斗场景或突然变大的画面感到害怕,会跑回房间。但过后又会轻手轻脚回来,站远一点偷看,甚至躲到凳子下面只露出头。
核心想法:去掉追逐和战斗,只让恐龙安静地出现在屏幕上,可以自由旋转、缩放视角,孩子还会不会跑?
第一版仅3-4只恐龙,女儿在旁玩耍时看到屏幕,非但没跑,反而很好奇。于是从“恐龙馆”逐步扩充到包含长毛猛犸象、鱼龙等非恐龙史前生物的**“史前动物博物馆”**。
✨ 功能与设计理念
对孩子的设计
- 操作简单:选择动物后,可拖动模型换角度、放大缩小查看。
- 旁白可控:中英文旁白不会自动播放,想听时再点,避免惊吓。
- 内容克制:动作设计平和,没有追逐、捕食和战斗场景。
- 多设备支持:手机、平板、电脑均可打开。
- 家长资料:年代、体型等科学信息及不确定性说明,放入家长资料区。
对技术的坚持
- 孩子使用时不调用AI:3D模型、图片、旁白等内容提前制作完成。AI参与的是制作过程,而非孩子每次打开页面后实时生成。
- 加载优化:针对3D模型体积大的问题,做了多重优化(详见下文)。
🛠️ 技术实现与加载优化
3D文件体积不小,移动端体验是难点。开发者陆续实施了以下优化策略:
- 模型压缩:减小3D文件体积。
- 按需加载:仅加载当前动物,利用空闲时间预取相邻动物。
- 多层缓存:结合浏览器缓存和内存缓存。
- 首帧占位:3D未准备好前,先显示静态首帧图片。
- 原子切换:新模型加载完成后替换,避免闪空。
- 移动端策略:单独处理交互和资源策略。
- 持续优化:计划将Three.js移出首屏关键路径,提升首次可交互速度。
🤖 AI在项目中的角色
开发者在项目中深度使用AI,但角色定位清晰:
- 辅助制作,而非实时生成:AI参与模型搜索、动作制作(如用Blender配合MCP处理骨骼动画),但孩子使用时不调用AI。
- 扩展能力边界:开发者借助AI,敢于尝试以前不会主动碰的3D动画领域。
- 辅助搜索,人工把关:AI帮助搜索公开模型、整理候选,但模型质量和许可证(License)仍需人工逐项核对。
开发者感悟:“AI对我来说最有价值的地方,不一定是‘把网页代码写快一点’,而是让我敢碰以前基本不会主动碰的东西。”
🌐 部署与访问现状
- 主要部署:使用Cloudflare免费方案。
- 国内访问:不理想。因无ICP备案,国内大部分环境首次打开偏慢,部分国内浏览器或微信内打开可能出现提示。
- 开发者态度:暂时没有备案计划,但希望持续优化加载体验。