SuperAPI AI 工具集

3d-model-generator-by-threejs

设计与创作

查看项目

更新于 10-16 04:06

技能介绍

3D Model Generator by Three.js

该技能用于根据自然语言请求生成程序化 3D 模型,通过编写受约束的 buildModel(ctx) 模块使用 Three.js、内置构建器与辅助函数,同时让模型构造辅助、校验、导出与审查保持确定性和可复用性。

用途

Generate model-specific JavaScript while keeping model construction helpers, validation, export, and review deterministic and reusable.

工作流程

  1. 在本技能之外选择任务输出目录。

  2. 运行 node scripts/init-model-task.mjs --out <task-dir>,在不覆盖已有工作的前提下复制 build-module 模板。

  3. 阅读 references/build-contract.md。使用内置构建器或辅助函数前阅读 references/builder-api.md。选择格式前阅读 references/export-formats.md。

  4. 仅编辑 <task-dir>/model-build.mjs。导出一个 buildModel(ctx) 函数并保持其确定性。

  5. 使用 npm ci --prefix scripts 一次性安装固定版本运行时。

  6. 构建、校验并导出:

node scripts/build-and-export.mjs --build <task-dir>/model-build.mjs --out <task-dir> --formats glb,obj,stl

  1. 检查 <task-dir>/validation.json。修复所有错误,并评估影响所请求格式的警告。

  2. 渲染导出产物的确定性 PNG 预览:

node scripts/render-preview.mjs --model <task-dir>/model.glb --out <task-dir>/preview.png --views iso,front,top

阅读 references/preview-rendering.md 了解支持的格式、视图和渲染限制。

  1. 当交互式视觉审查有用时,运行:

node scripts/serve-viewer.mjs --artifact-dir <task-dir> --model model.glb

用可用的浏览器工具打开打印出的本地 URL。审查导出产物,而不只是源场景。需要对比源场景时使用 --source model-build.mjs。

  1. 仅修改 model-build.mjs、重新构建并再次审查,以此迭代。

构建规则

  • 返回 THREE.Object3D 或 { root, animations, metadata }。
  • 常见构造使用 ctx.builders 和 ctx.helpers。自定义几何体直接使用 ctx.THREE。
  • 不要从生成的构建代码导入模块。不要访问文件、进程、环境变量、网络 API、动态导入、eval 或 Function。
  • 使用 ctx.rng 而非 Math.random(),以便修订可复现。
  • 除非请求另有要求,默认 Y 轴向上、单位为米。
  • 用于 GLB 时优先使用 MeshStandardMaterial、MeshPhysicalMaterial 或内置材质预设。
  • 默认 Node 导出路径中不要包含纹理。纹理编码需要浏览器或单独的具备图像能力的运行时。
  • 设置有意义的节点名称,并将多部件资产组织在组下。
  • 三角形数量与请求的用例保持比例。远处或移动端资产使用较低分段数。

校验与审查

  • 先运行数值校验,再进行视觉审查。校验器检查有限的变换和顶点、空几何体、法线、边界、计数、不支持的着色器材质、纹理以及配置的限制。
  • 视觉审查时检查:
    • 轮廓与可识别形状;
    • 相对缩放与比例;
    • 对称性、对齐、接地情况与意外相交;
    • 正面、背面、侧面、顶部和透视视图;
    • 材质分离与最终格式保真度;
    • 拓扑重要时的线框密度。
  • 优先对 GLB、OBJ 或 STL 进行往返审查。当导出丢失层级、材质、变换或动画时,源模式可能看起来仍然正确。

完成标准

仅当以下条件满足时才完成模型任务:

  • build 模块在无禁止能力的情况下运行;
  • 校验不包含错误;
  • 所请求的每个文件都存在且非空;
  • 浏览器审查可用时,导出文件审查结果令人满意;
  • 使用记录的种子可复现构建;
  • 生成的源码和产物保留在本技能目录之外。

资源

  • scripts/runtime/:稳定的构建上下文、构建器、辅助函数、带种子的 RNG、源码检查与场景校验。
  • scripts/exporters/:针对特定格式的 GLB/glTF、OBJ 和 STL 导出器。
  • scripts/build-and-export.mjs:主确定性流水线。
  • scripts/render-preview.mjs:独立的导出模型 PNG 渲染器。
  • scripts/serve-viewer.mjs:本地源与往返查看器服务器。
  • assets/model-build.template.mjs:生成任务的起点。
  • assets/viewer/:浏览器审查应用。
  • references/build-contract.md:生成模块契约与安全规则。
  • references/builder-api.md:构建器与辅助函数 API。
  • references/export-formats.md:格式能力与限制。
  • references/preview-rendering.md:独立预览命令与限制。