当千年国粹遇上顶尖 AI,会擦出怎样的火花?
不再是冰冷的屏幕展示,只需轻轻捏合手指,水墨画、青花瓷、京剧脸谱便在指尖化作千万流光。今天,我们手把手教你如何用 Gemini 3 实现这套惊艳全场的 3D 粒子交互系统。
一、 科技与艺术的视觉盛宴
在这个画展中,每一件展品都由数万个微小的 3D 粒子组成。通过 MediaPipe 手势追踪技术,你的手就是指挥棒。
- 指尖交互:大拇指与食指轻轻捏合再张开,如同魔法一般,当前的粒子瞬间重组,下一幅国粹名作翩然而至。
- 丝滑过渡:得益于 WebGL 着色器(Shader)的处理,粒子不会生硬切换,而是像流沙一样从一幅图“飞”向另一幅图。
二、 核心黑科技:Gemini 3 的逻辑重构
要实现如此复杂的交互,传统的代码编写往往费时费力。我们采用了目前逻辑理解与代码生成能力最强的 Gemini 3 模型。
Gemini 3 能精准地将“手势检测”与“GPU 粒子渲染”这两个跨领域技术完美缝合。它为我们优化了 v7.0 交互算法,让大拇指与食指的微小动作能被毫秒级捕捉并转化为粒子的跃迁信号。
三、 拿走不谢:实现方案提示词 (v7.0)
如果你也想打造同款画展,只需将以下 Gemini 3 专属提示词 复制到你的开发助手或 Cursor 中。
🚀 粒子系统提示词 v7.0 (国粹手势切换版)
核心任务
创建一个实时交互的 3D 粒子系统。核心交互逻辑为:利用摄像头捕捉大拇指与食指的捏合/张开动作,作为“触发器”平滑切换展示不同的图片粒子形态。
修改后的要求
- 手势触发逻辑:通过 MediaPipe 检测单手大拇指与食指的距离。当两者从“张开”变为“捏合”再“张开”时(类似点击动作),系统自动切换至下一张预设图片。
- 多图粒子化:支持上传多张图片,系统为每张图片生成独立的 3D 像素坐标点位。
- GPU 位移过渡:图片切换时,粒子不应直接消失,而是利用 Shader 在 GPU 上计算从“当前图片点位”到“下一张图片点位”的平滑移动轨迹。
- 实时反馈:界面需实时显示手势识别状态(如“已选中”、“正在切换”)。
- 现代 UI:包含多图上传预览、手势敏感度调节,完全适配移动端。
1. 前端技术栈
- Three.js:核心 3D 渲染引擎。
- MediaPipe Hands:用于实时追踪大拇指(Thumb)与食指(Index Finger)的关键点。
- WebGL Shaders:自定义 GLSL 顶点着色器,实现高帧率的粒子迁移效果。
- Tailwind CSS:响应式 UI 框架。
2. 系统组件
2.1 Three.js 渲染系统
- 场景增强:
scene.fog营造空间深度。 - 双缓冲点位:为粒子系统准备两个位置属性缓冲区(Current Position & Next Position)。
2.2 着色器系统 (核心修改)
顶点着色器 (Vertex Shader)
- 多目标插值:
vec3 pos = mix(currTargetPos, nextTargetPos, uTransitionFactor)。 - 过渡动效:在切换瞬间加入
sin函数或噪声干扰,使粒子在迁移过程中产生“流体”或“破碎重组”的视觉感。 - 大小控制:切换过程中粒子微调大小,增强动感。
片段着色器 (Fragment Shader)
- 实现颜色从
colorA到colorB的平滑过渡。
2.3 手势识别系统 (核心修改)
动作判定
- 计算
HAND_LANDMARKS.THUMB_TIP与HAND_LANDMARKS.INDEX_FINGER_TIP的欧几里得距离。 - 阈值检测:距离小于 0.05 判定为“闭合”,大于 0.1 判定为“张开”。
- 触发器:监听“闭合后立即张开”的完整周期,执行
nextImage()函数。
3. 关键实现细节
1. 粒子数据结构
// 每个粒子属性
attributes: {
positionA: { value: [] }, // 图片 A 的像素坐标
positionB: { value: [] }, // 图片 B 的像素坐标
colorA: { value: [] }, // 图片 A 的颜色
colorB: { value: [] }, // 图片 B 的颜色
}
uniforms: {
uTransition: { value: 0.0 } // 过渡进度 (0.0 -> 1.0)
}
2. 动画过渡逻辑
- Lerp 插值升级:使用 GSAP 或自定义 Ticker 控制
uTransition变量。 - 循环机制:当切换完成后,将
positionB的值赋给positionA,并加载下一张图的数据到positionB,重置uTransition为 0。
3. 性能优化
- 像素降采样:无论原图多大,统一重采样为最高 200x200 的粒子阵列(4万个点),确保手机端流畅。
- 坐标对齐:若两图粒子数量不一,多余粒子汇聚于中心点或随机散开。
建议下一步
如果您正在使用 Cursor 或 VS Code 编写代码,可以直接对 AI 说:
“请按照粒子系统提示词 v7.0,修改现有的 MediaPipe 逻辑。将原本控制缩放的距离函数改为一个触发器:当检测到大拇指和食指捏合再张开时,调用 gsap.to(uniforms.uTransition) 实现粒子切换到下一张图的动画,过渡时间设为 1.2 秒,带有 back.out 效果。”
四、 如何开始你的画展?
- 准备素材:收集几张透明底的国粹图片(如团扇、书法、祥云)。
- 调用 Gemini 3:将上述提示词输入,获取完整的 HTML/JavaScript 代码。
- 开启摄像头:在浏览器运行,伸出右手,感受指尖掌控传统文化脉络的奇妙体验。

结语
交互艺术的未来,是让技术隐形,让体验升华。Gemini 3 不仅仅是一个模型,更是连接创意与现实的桥梁。
作者:Eason
日期:2026 年 1 月 6 日