Gemini3生成手势控制3D粒子交互 - 指南

Gemini3的3D粒子交互的出现,也是体验了一把隔空交互。
本文实现的是圣诞树上挂有图片,使用手势交互实现图片的查看,源项目可见:https://download.csdn.net/download/weixin_42311968/92462897
完成的主体功能大约如下:
1.3D粒子态的圣诞树
2.定义手势动作(握拳)能力:聚拢树
3.定义手势动作(张开)功能:散开为粒子
4.定义手势动作(拿捏)功能:放大图片
5.定义手势动作(比个耶)作用:切换图片
6.支持清空和重新上传图片
7.etc


以下给出具体的项目构建步骤:

1.进入Gemini3官方网址:https://aistudio.google.com/apps,打开对话框Build→Start

在这里插入图片描述

2.投喂通用实现内容后会自动生成一个html文件(该文件根据实际情况会有一些小困难,后续我会给出调优点):

完成的主体功能大约如下:
1.3D粒子态的圣诞树
2.定义手势动作(握拳)功能:聚拢树
3.定义手势动作(张开)功能:散开为粒子
4.定义手势动作(拿捏)功能:放大图片

角色设定:
你是一位世界级的 Creative Technologist,精通 Three.js (WebGL)、GLSL 着色器逻辑以及 Google MediaPipe 计算机视觉集成。
任务目标:
请编写一个单文件 (Single-File) 的 HTML 项目,文件名为圣诞树。该项目必须包含完整的 HTML 结构、CSS 样式和基于 ES Module 的 JavaScript 代码。
核心技术栈约束 (必须严格遵守):
依赖管理: 使用 <script type="importmap"> 引入:
three: https://cdn.jsdelivr.net/npm/three@0.160.0/build/three.module.js
three/addons/: https://cdn.jsdelivr.net/npm/three@0.160.0/examples/jsm/
@mediapipe/tasks-vision: https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.3/+esm
代码风格: 使用现代 ES6+ 语法,类 (Class) 结构管理粒子,异步/等待 (Async/Await) 处理加载。
 详细开发规格说明书
UI 设计与 CSS 样式 (Visual Identity)
字体: 引入 Google Fonts 'Cinzel' (标题) 和 'Times New Roman' (正文)。
配色: 背景 #000000。主色调:香槟金 #d4af37,奶油白 #fceea7。
UI 组件:
Loader: 黑色全屏遮罩,中间为 40px 的金色旋转 Spinner (border-top: 1px solid #d4af37),下方文字 "LOADING HOLIDAY MAGIC"。初始化完成后淡出。
标题: 顶部居中 

"Merry Christmas",字号 56px,使用 CSS linear-gradient (白到金) 实现文字渐变色,并加辉光阴影。 上传控件: 一个带有 .upload-wrapper 类的容器。按钮样式为半透明磨砂玻璃 (backdrop-filter: blur),边框金色,文字 "ADD MEMORIES"。 提示文本: 按钮下方显示 "Press 'H' to Hide Controls"。 隐藏逻辑: 定义 CSS 类 .ui-hidden (opacity: 0; pointer-events: none)。监听键盘 H 键切换此状态。 Webcam: 在右下角创建一个不可见的容器 (opacity: 0),包含

3.将生成的html档案放到本地文件中,重新命名文档后缀为html即可本地实现预览。

在这里插入图片描述
或者直接在Gemini3提供的页面中预览也行,入口输出有点久,需要多等一会。cv放在本地的话就可以直接打开即用。
在这里插入图片描述

4.如果选择本地记录打开,一定要授权摄像头的操作

在这里插入图片描述

5.进去页面后,可能和以下图片不完全一致。问题不大

在这里插入图片描述

在使用的过程当中,实现了以下需要特殊处理和优化的逻辑:

1.上传图片的数量限制
2.上传图片达到数量限制后,需隐藏上传入口
3.增加手势切换动作(比个耶),实现切换图片的功能
4.手势切换动作(比个耶)仅切换已上传的图片
5.手势切换动作(比个耶)的连贯性,旧图片先返回树的模型中,新图片再打开
6.手势动作(握拳)聚拢并合成树的时候,支持树的左右旋转。如果发生旋转后,重试(握拳)并不会发生复位,而是在现在角度继续旋转
7.在树旋转的过程当中,会主动选中离当前居中区域最近位置的图片,并附有一个选中的样式,用于区分其他未选中的图片
8.支持重新上传图片,并供应二次确认窗口
9.生成的默认图片展示区域的文字修改为自定义:未完待续
10.图片展开永远朝向用户
11.在第一次上传完图片之后,需要展示分享按钮。且导出的文件中存在已上传文件。其他人可以直接打开并应用

posted @ 2026-01-30 15:36  yangykaifa  阅读(1)  评论(0)    收藏  举报