你的 3D 打印模型是 .stl(从 Thingiverse、打印猫下载的),但要放到网页里用 Three.js 展示——得用 .glb.gltf。STL 只有几何,没有材质、没有场景信息,转换时要补这些东西。

速工具 的 STL 转 GLB 工具支持在线转换,上传 STL 直接下载 GLB 单文件。

STL 和 GLB 的核心区别

对比项STLGLB/GLTF
数据内容只有三角面网格网格 + 材质 + 动画 + 场景
文件大小小(二进制更紧凑)中(多了材质数据)
Web 支持要自己写解析器Three.js / Babylon.js 原生支持
材质完全没有PBR 材质(金属、粗糙度、法线)
典型用途3D 打印Web 3D、AR/VR、游戏引擎

转换时会发生什么

STL → GLB 转换工具会:

  1. 读取 STL 的三角面数据(顶点 + 法线)
  2. 给模型加一个默认 PBR 材质(漫反射颜色、金属度、粗糙度)
  3. 把模型放进一个 GLTF 场景里(包括摄像机、灯光设置)
  4. 输出 GLB(单文件)或 GLTF(JSON + .bin + 贴图)

因为 STL 没有材质信息,转换出来的模型是「默认灰色」。要在网页里好看,得在 Three.js 里改材质,或者在 Blender 里重新贴材质再导出。

水密性检查

3D 打印要求模型是「水密」的(没有破洞、法线朝外)。STL 转 GLB 之前,最好用 STL 查看器 先检查一下:

  • 查看有没有红色边(表示边界边,即破洞)
  • 查看法线方向(Blender 里用「显示面法线」功能)
  • 有破洞的模型,先修复再转格式

在线转换步骤

  1. 打开 STL 转 GLB 工具
  2. 上传 .stl 文件(ASCII 或二进制都支持)。
  3. 选择导出格式(GLB 单文件推荐)。
  4. 设置默认材质颜色(可选)。
  5. 点击转换,下载结果。
  6. 3D 模型查看器 验证一下。

FAQ

转换后模型变成「无材质」的灰色的怎么办?

这是正常的。STL 格式本身就没有材质信息,转换工具只能给一个默认材质。要让模型好看,可以:1. 用 Blender 打开 GLB,重新贴材质再导出;2. 在 Three.js 代码里改材质颜色(给 mesh.material.color 赋值)。

STL 和 OBJ 该用哪个转 GLB?

如果原模型有 OBJ + MTL(材质),用 OBJ 转 GLB 更好(材质能保留一部分)。如果只有 STL,转出来也是没有材质的,但 STL 文件更小、处理更快。