3DPrompt.
GitHub
返回作品库
GPT-6 Astra参考创作说明

交互式 3D 机械手弹钢琴演示

一款基于浏览器的交互式 3D 演示:五指机械手弹奏一架 25 键迷你钢琴,包含因果关联的手指接触、琴键运动、MIDI 驱动的规划、音频、摄像机视角和演奏诊断功能。

创作者 MSB查看原始来源
交互式 3D 机械手弹钢琴演示

关于此示例

根据创作者公开项目整理的起始说明,并非逐字原始提示词。实际结果可能不同。

创作者备注

创建一个交互式 Three.js 和 TypeScript 3D 钢琴演示,包含带关节的机械手、接触驱动的琴键和音频、MIDI 支持、播放控制、多摄像机视角及时序诊断。

Three.jsTypeScript3D 场景机械手钢琴MIDI逆向运动学交互式应用

提示词

构建一个完整的基于浏览器的演示应用,展示一只精细建模的五指机械手弹奏迷你钢琴。可见的手指运动、琴键的实际行程、生成的音符和音乐时序必须具备因果关联。在评测器的时间预算内,交付一款视觉效果精致且可交互的应用。 1. 体验:使用全屏 3D 场景,包含精确建模的机械手、可活动的手指、清晰可见的腕部机构,以及覆盖 MIDI 音符 60 至 84 的 25 键键盘。呈现逼真的黑键和白键几何结构、可独立运动的琴键、指尖垫和精细材质。提供俯视、演奏者侧面和指尖特写摄像机视角。用户激活播放后,提供同步音频。 2. 通用音乐输入:以 MIDI 音符编号作为唯一事实来源。在 96 BPM 下播放以下事件,格式为(起始拍、音符、持续拍数):(0,60,0.4)、(0.5,64,0.4)、(1,67,0.4)、(1.5,64,0.4)、(2,62,0.4)、(2.5,65,0.4)、(3,69,0.4)、(3.5,65,0.4)、(4,60,0.4)、(4.5,60,0.4)、(5,60,1)、(5,64,1)、(5,67,1)。最后三个事件组成同时演奏的和弦。还应支持使用成熟解析器导入标准 MIDI 文件。 3. 手部控制:分别建模具有独立关节的手指和可移动的手腕。规划可触及的手指分配、接近运动、按下、保持、释放、重复音符的触键,以及和弦演奏。手指必须接触正确的琴键,不得穿过相邻琴键,也不得出现不合理的跳跃。使用逆向运动学和关节限位。显示规划中的手指分配,并允许逐个检查单独的运动。 4. 声音因果关系:只有当对应琴键因手指接触而越过有文档记录的下压阈值时,才生成音符开启事件。释放时生成音符关闭事件,并使用滞回机制防止抖动。MIDI 事件是规划目标,不得作为独立的音频播放轨道。可以使用明确标识的基于几何接触驱动的琴键机构,也可以使用完整的接触动力学。琴键不得仅因排定了 MIDI 事件就发生运动。 5. 时序:使用一致的音乐时钟,并将实际琴键触发事件与目标事件进行时间戳对比。考虑音频调度和渲染时序。提供速度、移调、播放、暂停、重新开始、循环和慢动作检查功能。暂停或重新开始时,必须适当释放活动音符。降低播放速度时,必须保持手指、琴键和音频之间的同步。 6. 诊断:在对齐的时间线上显示目标音符、规划手指、实际触发的音符和起音时间误差。报告漏音、额外音符、错误音高、重复音符失败和卡住的音符。提供接触检查叠加层,显示正在按下每个琴键的指尖。记录足够的证据,以区分成功的演奏规划和近似的手部动画。 7. 验证:分别评估旋律、重复音符和最后的和弦。目标是没有错误或漏掉的音符,第 95 百分位起音时间误差低于 50 毫秒,最后和弦的起音时间跨度低于 50 毫秒。即使未达到目标,也要报告实际测量结果。提供一项禁用手指驱动的测试:播放进度可以继续推进,但未被按下的琴键不得生成音符。 8. 交付:使用 Three.js、TypeScript、适当的音频 API,以及成熟的解析或数值计算库。交付可运行的应用、源代码、可复现的音乐测试数据、资源或生成脚本,以及启动说明。验证浏览器音频、控件、摄像机视角、桌面端和移动端布局,以及重复播放功能。所有显示的性能声明都必须来自实测行为。

如何使用这段提示词

01

从合适的工具开始

打开你常用的编程助手或 3D 工具。可先尝试示例所用的模型,并查看关联项目中的配置说明。

02

先选一个地方修改

替换主体、美术风格或场景,清楚描述镜头和交互。先完成简化版本,再逐项打磨细节。

03

为场景加入专属模型

需要自己的角色或道具时,用简短的物体描述或参考图制作 3D 模型,再导入项目。

预览作品归各自创作者所有。复用代码或素材前,请查看原始来源及项目许可。