🎄 3D 浪漫圣诞树 (Pink Edition) - 基于 Three.js 与 AI 手势识别
以下为最近网上挺火的Gemini3 Pro生成的圣诞树复刻升级(浪漫版)
🔗 在线体验与源码
🚀 在线演示 (Live Demo):
https://khyron.cn/christmas-tree/
(建议使用 Chrome / Edge / Safari 浏览器,并允许摄像头权限以开启 AI 互动功能)
所有文件读取、摄像头数据读取均在本地执行,没有上传云端,放心使用
💻 开源代码 (GitHub):
https://github.com/Roisten/Romantic-Christmas-Tree
🎞️ 效果演示:
✨ 核心亮点 (Features)
1. 🎨 极致的视觉美学
告别传统的红绿配色,本项目采用了香槟金 + 浪漫粉 + 深玫瑰色的奢华色调。
粒子系统:由 2000+ 个核心粒子组成的动态结构。
后期处理:集成了 Unreal Bloom (辉光) 效果,营造朦胧梦幻的深空氛围。
性能优化:重构了雪花系统与几何体复用,确保在移动端也能流畅运行。
2. 🪄 魔法般的 AI 手势控制
无需鼠标键盘,通过摄像头捕捉手部动作即可与场景交互(基于 MediaPipe):
🖐 张开手掌:圣诞树瞬间炸裂,化作漫天繁星(散开模式)。
✊ 握紧拳头:触发隐藏剧情,粒子重组为“求婚情侣”剪影 (Flower For You)。
👌 捏合手指:在散开模式下,隔空“抓取”悬浮的照片,将其拉近到眼前。
3. 🖼️ 沉浸式回忆画廊
自定义上传:支持用户上传本地照片文件夹。
3D 相框:照片会自动生成带有玫瑰金边框的 3D 卡片,悬浮在粒子云中。
4. ⚡ 硬核性能优化
为了确保丝滑体验,代码进行了深度优化:
对象池 (Object Pooling):消除运行时的垃圾回收 (GC) 卡顿。
AI 节流 (Throttling):智能控制识别频率,大幅降低 CPU/GPU 占用。
几何体实例化:即使加载上百张照片,渲染压力依然极低。
📖 操作指南 (User Guide)
界面交互
上传照片:点击屏幕下方的 选择照片文件夹 / SELECT FOLDER 按钮,选择包含照片的文件夹即可。
隐藏 UI:双击屏幕(或按键盘 H 键)可隐藏/显示界面按钮,适合全屏录制。
手势指令表
请确保手部出现在画面右下角的预览框中,保持约 0.5 米距离。
🛠️ 本地开发与部署
如果您想在本地运行或修改源码,请按照以下步骤操作:
1. 克隆仓库
git clone https://github.com/Roisten/Romantic-Christmas-Tree
cd Romantic-Christmas-Tree
2. 启动本地服务器
由于项目使用了 ES6 模块和摄像头权限,直接双击 HTML 文件无法运行。你需要一个本地 Web 服务器。
方式 A (VS Code 推荐):
安装 Live Server 插件,右键 index.html 选择 "Open with Live Server"。
方式 B (Python):
python -m http.server 8000
# 然后并在浏览器访问 http://localhost:8000
3. 注意事项
HTTPS: 如果部署到公网服务器,必须使用 HTTPS 协议,否则浏览器会因安全策略阻止摄像头调用(MediaPipe 将无法工作)。
移动端适配: 代码已包含针对手机竖屏的视角适配逻辑。
🤝 贡献与致谢
本项目使用了以下开源库:
Three.js - 强大的 WebGL 3D 库
Google MediaPipe - 高性能 AI 视觉模型
如果你喜欢这个项目,欢迎在 GitHub 上点一颗 ⭐ Star!
Merry Christmas & Happy New Year! 🎄✨
- 感谢你赐予我前进的力量

