跳转到内容

项目介绍

CustomForge 是一个用于构建商品个性化定制体验的浏览器端 Library,它将二维设计画布与实时三维商品预览连接起来

用户可以在设计画布中添加文字、Logo、背景和装饰图片,CustomForge 会把合成纹理实时映射到带 UV 的三维模型上

当前版本

0.1.0 是 CustomForge 的首个非预发布版本

公共 API 遵循语义化版本规则,Design JSON version 1 文档在整个 0.1.x 版本线内保持可读取兼容

工作原理

mermaid
flowchart LR
    A[文字和图片] --> B[二维设计画布]
    C[可选基础纹理] --> B
    B --> D[实时 Canvas 纹理]
    E[带 UV 的 GLB 或 GLTF] --> F[三维商品]
    D --> F
    F --> G[交互式预览]

模型内部已经保存 UV 坐标,用于描述平面纹理上的点与三维表面上的点如何对应

CustomForge 更新的是纹理而不是模型几何体,因此准备正确的 UV 模型是接入真实商品的关键

选择接入层级

CustomForge 提供两个公开入口

入口适用场景需要自行构建的内容
customforge/workbench快速开始或嵌入完整编辑器商品数据、配置和外围业务流程
customforge构建完全自定义的界面所有按钮、面板、Dialog 和应用布局

除非项目已有独立设计系统或非常特殊的编辑流程,否则建议从 Workbench 开始

两个入口使用相同的 ProductCustomizer 引擎,并生成相同格式的 Design JSON

已有能力

  • 基于 Fabric.js 的二维设计画布
  • 基于 Three.js 的 GLB 和 GLTF 商品查看器
  • Canvas 到三维纹理的实时同步
  • 支持选择、变换和丰富排版的文字与图片对象
  • 图层命名、显隐、锁定、排序和删除
  • 撤销与重做历史
  • Design JSON 保存与恢复
  • 合成纹理 PNG 导出
  • 支持品牌、主题、文案、功能开关和预设素材的可配置 Workbench
  • 无需外部资源即可开发的内置 GLB 杯子,完整杯体 MugBody 与可打印层 PrintArea 相互独立

当前边界

当前版本聚焦于一张逻辑设计画布映射到一个命名 Mesh 的第一个材质槽

以下能力暂未实现

  • 多个可独立编辑的商品表面
  • 需要额外解码器的 GLTF 压缩扩展
  • 高级对齐、吸附和印刷出血工具
  • 官方 Vue、React 或其他框架适配器

CustomForge 本身与框架无关,只要在目标 DOM 元素可用后挂载,就可以接入任意前端框架

下一步