这篇内容是什么
下面是一条“在线工具生成型 AI 提示词(Prompts)”,用于让 AI 直接产出一个可运行/可构建/可部署的在线 3D 检查工具:上传 GLB/GLTF 文件后,对动画轨道、骨骼层级、蒙皮权重与纹理依赖进行静态检查,并生成可读报告(HTML+JSON)。
适用场景
适用于内容审核、资产入库、外包交付验收、动画/角色管线自检:在不渲染“出图”的前提下,快速发现 GLTF/GLB 的结构问题(命名混乱、骨骼循环引用、蒙皮缺失、动画轨道断裂、纹理引用丢失、尺寸单位异常等)。
交付物要求
工具必须一次性输出:完整项目源码、清晰文件树、可复现运行命令、部署说明(含 Docker 可选)、以及测试用例或 QA checklist。报告需支持下载(JSON)并提供可读页面(HTML)。
Prompt(基础版:检查与报告)
你是一个资深前端工程师 + 3D 资产管线工具作者。请为我生成一个“在线 3D 预览/检查工具”(注意:不要引导生成任何渲染图/海报/插画;只做结构检查与报告)。
目标:用户上传 .glb 或 .gltf(可包含 bin/纹理),工具在浏览器端进行解析与静态检查,输出:
1) 可读的检查报告页面(分组+可折叠+高亮错误/警告)
2) 可下载的 machine-readable JSON 报告
检查项(至少包含):
- 基本信息:文件大小、解析耗时、节点/网格/材质/纹理/动画/骨骼数量
- 动画:动画 clip 列表、每个 clip 的时长、轨道数量、轨道 targetPath 分布、是否存在空关键帧/NaN/时间戳无序、是否存在同名 clip 冲突
- 骨骼:骨骼层级树、是否存在循环引用、是否存在未被任何 skin 引用的骨骼、是否存在无 parent 的多 root bone、骨骼命名规则检查(可配置:前缀/大小写/禁止字符)
- 蒙皮:每个 skinned mesh 的 skin 是否存在;每个 vertex 的 joint/weight 是否合规(权重和是否接近 1;是否存在权重为 NaN;是否存在 joint index 越界);是否存在不含骨骼的 skinned mesh
- 纹理依赖:贴图引用列表(URI、mimeType、尺寸、是否缺失)、是否存在重复资源引用、是否存在未使用纹理
- 结构:场景数量、节点命名冲突、空 mesh、空材质、孤儿节点
技术要求:
- 使用 Vite + React + Type (或 Next.js 也可,但请明确选择其一并给出理由)
- 3D 解析建议使用 three.js 的 GLTFLoader;可选使用 @gltf-transform/core 或 gltf-validator(如引入请说明体积与兼容性取舍)
- 上传:支持拖拽、文件选择;.gltf 需支持同时选择关联的 .bin/贴图(建议用 zip 导入方案:用户上传 zip,工具在浏览器解压并解析)
- 报告:错误/警告/信息分级;每条问题必须包含:路径(node/mesh/material 名称)、问题描述、建议修复动作
- 性能:避免阻塞 UI;解析与检查过程用 Web Worker;进度条展示阶段(读取/解压/解析/检查/生成报告)
输出内容必须包含:
- 完整项目文件树
- 所有关键源码(组件、worker、检查器、报告渲染、导出 JSON)
- 运行命令(pnpm/yarn/npm 任选其一,但要给出 lockfile 选择建议)
- 部署说明:静态部署(如 Nginx)+ 可选 Dockerfile
- 测试:至少 3 个单元测试(对检查逻辑)+ 1 个 e2e/手工 QA checklist
请直接开始输出代码与文件结构,不要写泛泛的思路,不要省略关键文件内容。
Prompt(增强版:规则配置与批量模式)
在基础版之上,增加以下能力并输出完整实现:
- 规则配置面板:
- 命名规则(正则、禁止字符、大小写策略)
- 权重阈值(权重和允许误差)
- 最大资源限制(最大纹理数量、最大动画轨道数)
- 严格模式开关(严格模式下某些 warning 提升为 error)
- 批量检查:
- 支持一次上传多个资产(多 zip / 多 glb)
- 生成批量汇总表(可排序/筛选/导出 CSV)
- 每个资产仍可查看详情报告
- 可复制的“问题修复建议”:
- 对常见问题给出可操作的修复步骤(例如:在 Blender/3ds Max 中如何定位骨骼、如何重新绑定、如何清理未使用纹理),但不要涉及生成渲染图。
请保持所有产出仍为一个可直接运行与部署的在线工具项目,包含文件树、命令、部署与测试/QA。
验收清单(发布前自检)
可用这份 checklist 快速验收工具是否达标:能在本地启动;上传 zip/glb 不报错;报告可分级展示;JSON 可下载;Worker 不阻塞;至少 3 条单测通过;按部署文档可在静态服务器跑起来。
常见坑与规避
注意不要把“预览”做成渲染图生成;不要引导模型去生成海报/插画。这里的预览仅用于结构验证与信息展示。解析大文件时务必用 Worker,并限制并发,避免页面卡死。