GPT-6.1-sol驱动的3D售货机实现全流程自动讲解,60罐饮料全模型自建无外部贴图

开发者利用 GPT-6.1-sol 辅助完成一款具备机械拆解、出货模拟与中文语音讲解功能的3D售货机项目,整机60罐饮料、159个可交互零件均为程序生成,无外部模型或贴图依赖,支持离线单文件运行。

互联网/IT

一台能自己“开口说话”、逐层拆解内部结构、并完整演示出货流程的3D售货机,近日在技术社区引发关注。该项目并非商业产品原型,而是一次基于 GPT-6.1-sol 辅助开发的工程实践——开发者全程使用 TypeScript + Three.js 构建场景,所有机械部件、饮料罐体与界面元素均由代码生成,未引入任何外部3D模型或图片素材。

该售货机共设四层货架、20条独立货道,每道容纳3罐饮料,总计60罐。罐身标签、屏幕内容、机身纹理均通过 CanvasTexture 动态绘制,实现真正意义上的“零贴图依赖”。项目初期仅实现基础旋转浏览功能,后续逐步迭代加入机械结构建模、物理驱动逻辑与语音讲解系统,最终形成一套完整的交互式教学演示工具。

核心难点在于机械逻辑的精确还原。例如,出货机构采用减速电机驱动螺旋推进器,罐体需严格位于相邻螺距之间;当推进距离等于螺距(模型中设定为0.18米)时,前罐越过支承边缘,进入重力下落阶段。下落过程采用1/240秒固定步长的简化2.5D物理模拟,包含重力、摩擦与低反弹特性,但未构建通用刚体引擎——此举在保证视觉合理性的前提下显著降低计算开销。

更关键的是防错机制设计。系统需判断罐体是否真实接触取货仓底板并稳定静止,而非仅依据速度阈值判定“送达成功”。曾出现过罐子卡在斜板上、机器却宣布交易完成的异常情况,最终通过多条件联合校验解决。此外,取货路径明确设计为“抬起→外移”,避免因自由落体导致碰撞不确定性。

拆解功能是另一大亮点。整机159个零件支持选中、高亮与隐藏操作,用户可拖动进度条控制拆装过程:从门板分离、外壳移位、货架抽离,到螺旋与电机组件逐一展开,所有位移均基于统一装配原点动态计算,确保反向复原时各部件精准归位,避免传统动画中常见的“累积偏移”问题。

文章配图

语音讲解系统采用 Ming-3.0-tts 引擎,默认使用“灵小柔”女声,亦可切换至“灵楷”男声。讲解内容随拆解步骤动态触发,例如讲到电机时自动切入内部特写镜头,罐体下落时镜头同步追踪轨迹。为保证声音连贯性,开发者重点优化了语音合成的一致性,使全程讲解听感如同出自同一人之口。

技术栈方面,项目基于 Vite 构建,前端使用 Three.js 实现渲染,逻辑层由 GPT-6.1-sol 协助完成提示词迭代与代码补全。值得注意的是,该项目并非一次性成型,而是分阶段演进:第一版仅能旋转查看静态模型;第二版加入机构建模后发现原货道尺寸无法容纳弹簧与驱动件,被迫重构布局;第三版实现基础出货逻辑;最终版本才整合语音、拆解与状态管理模块。

售货机交互界面截图,左侧为控制面板含“开始自动讲解”按钮,右侧为3D模型实时渲染视图

开发过程中,提示词随问题不断调整。例如早期对“如何让罐子准确落入取货仓”的提问较模糊,后期细化为“在固定货道宽度与螺距条件下,推导罐体脱离支承点的临界转角与下落起始位置”,从而获得更可靠的几何约束方案。这种“问题驱动+AI辅助”的开发模式,显著提升了复杂机械逻辑的实现效率。

项目最终打包为单文件离线版,无需联网即可运行全部功能,适用于教学演示或技术分享场景。其价值不在于复刻真实售货机,而在于提供一个可观察、可交互、可追溯的机械原理沙盒——从机构配合到信号反馈,每个环节均可被拆解验证。

售货机局部特写,展示商品掉落通道与导流斜板结构,底部标注“商品掉落通道与导流斜板”

此类项目在当前技术生态中具有典型意义。一方面,它体现了大模型作为“编程协作者”在具体工程任务中的落地能力:GPT-6.1-sol 并非直接生成完整代码,而是协助开发者梳理逻辑链、修正几何错误、优化状态机设计;另一方面,它也反映出前端3D可视化正从“展示型”向“交互型”演进——用户不再满足于静态浏览,而是期待理解背后的运作机制。

对比行业常见做法,多数3D产品演示仍依赖Blender等工具建模后导入Three.js,而本项目坚持“纯代码建模”,虽增加前期工作量,却换来高度可控性与可维护性。例如当需调整货道数量时,只需修改参数,无需重新建模;当发现某零件干涉路径,可直接在代码中修正坐标关系。

目前该项目已开源,代码与说明文档发布于开发者社区。尽管尚未接入真实支付或库存系统,但其架构已预留交易状态接口,未来可扩展为教育用具、工业培训模块或AR/VR内容基础组件。在AIGC与WebGL深度融合的背景下,这类“轻量级、高内聚、强解释性”的交互式仿真项目,正成为技术传播与知识沉淀的新载体。