3DS 转 GLB 转换器
拖入 .3ds 文件,直接在浏览器中转换为 .glb。文件不会离开你的电脑。
为什么要把 3DS 转换为 GLB?
3DS 是 16 位时代已被淘汰的格式——没有现代 DCC 能原生加载它,其每个网格 65,536 个顶点的上限是 16 位索引时代的遗留。把老旧的 3D Studio 素材库转换为 GLB,无需 3ds Max 或付费插件,就能让它们重新进入现代 Web / AR 时代。
谁会做这种转换
抢救老旧 3D Studio 素材包的资产存档人员、转换经典时代模型的复古 / 独立游戏开发者,以及从 CD-ROM 素材库继承了一整个 .3ds 文件夹的爱好者。
常见问题
- 65k 顶点上限由格式本身决定——大网格导入时已被拆分为子网格,而不是完整的单个网格。
- 只有漫反射颜色能保留下来。3DS 中不存在 PBR、高光贴图和凹凸贴图。
- 3DS 内的纹理文件名常指向 DOS 时代的路径(C:\TEXTURES\...)——如需显示纹理,请在转换后重新链接。
本工具的技术说明
Three.js TDSLoader 保留 3DS 的子网格拆分,GLTFExporter 为每个子网格设置默认 metallic-roughness 材质,并将场景写入单个二进制 .glb。
3DS 与 GLB 有什么区别?
旧版 3D Studio 格式——在建筑可视化模型库和较旧的资产包中仍然常见。
- 紧凑的二进制格式
- 建筑 / 可视化工具支持良好
- 每个网格 65,536 个顶点 / 面的上限(16 位索引的遗留问题)
- 不支持 PBR 材质,仅限漫反射纹理
二进制 glTF——3D 界的 JPEG。自包含、体积小,在 Web、AR 和所有现代 3D 引擎中都能原生加载。
- 所有内容(几何、纹理、材质、动画)打包在一个文件中
- 小巧快速——专为流式传输和 Web 分发设计
- Blender、Unity、Unreal、three.js、<model-viewer>、Android ARCore……都原生支持
- PBR 材质(金属度-粗糙度)在任何地方渲染效果都一致
- 二进制——无法手动编辑
- 在传统 CAD 流程中较少见
深入了解这两种格式
3DS 的由来
1990 年随 DOS 版 Autodesk 3D Studio 推出,大约在 1994 年的 3D Studio R4 时冻结。该格式是基于块(chunk)的二进制格式——在当时紧凑而快速,但受限于 16 位索引。Autodesk 在 3ds Max 中以专有的 .max 取而代之,3DS 从此成为只读的归档格式。
- 64K 顶点上限意味着,任何比简单建筑更密的网格在导入时都会被自动拆分成莫名其妙的子对象。
- 不同导入器对平滑组的解码方式不同;即使几何完好,光照也可能看起来不对。
- 材质通道仅限漫反射 + 不透明度——市场上任何标着“3DS PBR”的东西都可以无视,根本不存在这种东西。
实际用途:建筑资产库(Evermotion、3DSky 的旧目录)、较旧的游戏 mod 社区以及历史 3D 模型存档。如果下载内容来自 2000 年代且文件是 .3ds,几乎总是需要先在 Blender 中清理一遍才能复用。
GLB 的由来
glTF 2.0 于 2017 年由 Khronos Group 批准,并迅速成为 W3C 推荐的 Web 3D 格式。GLB 是“一个文件装下一切”的二进制封装——几何、纹理、动画和场景图全部放在单个 .glb 中。由于 <model-viewer>、Android Scene Viewer 和所有现代游戏引擎几乎同时加入支持,它的普及呈爆发式增长。
- PBR 材质模型假定纹理处于线性空间——DCC 工具导出的已烘焙 gamma 的颜色贴图,在 Web 查看器中会显得发白褪色。
- 如果没有预加载解码器,Draco 网格压缩反而会拖慢加载;除非确实需要节省带宽,否则请关闭它。
- Y 轴朝上还是 Z 轴朝上:glTF 严格采用右手系、Y 轴朝上。Blender、3ds Max 和大多数 CAD 导出在导入时需要翻转坐标轴,否则模型会侧躺。
实际用途:电商产品页(IKEA、Amazon、Shopify 3D)、Android AR 快速查看、基于 <model-viewer> 的文档、NFT 市场以及实时配置器。只要 3D 资产需要在浏览器标签页中无插件渲染,答案就是 GLB。
如何将 3DS 转换为 GLB
- 1将 .3ds 文件拖放到页面上。经典 16 位版本和扩展版本均可使用。
- 2在 3D 中预览网格。由于 3DS 的顶点上限为 65k,零件可能被拆成多个子网格——它们会一起显示。
- 3点击“下载 GLB”。可在 three.js、<model-viewer>、Unity、Unreal 或任何兼容 ARCore 的查看器中使用。
常见问题解答
为什么要把 3DS 转换为 GLB?
3DS 是已被淘汰的格式——没有现代工具能原生加载它,其每个网格 65,536 个顶点的上限是 16 位索引时代的遗留。GLB 是现代的 Web 原生替代格式:单个自包含二进制文件、PBR 材质、浏览器原生支持。
材质会保留吗?
只保留漫反射颜色。3DS 早于 PBR,因此纹理引用和高光会被降级转换为简单的 metallic-roughness 基础材质。如果 3DS 缺少纹理文件,GLB 仍会以默认材质加载。
65k 顶点限制怎么办?
Three.js 的 3DS 加载器会在上限处拆分网格。GLB 输出保留这种拆分(每部分成为一个子节点),因此总几何体完全相同——只是被拆成了多个子网格。
这比从 DCC 导出 3DS 更好吗?
网格质量相同,但无需安装 3ds Max 或购买插件。当你手上只有旧素材包里的 .3ds 文件时很有用。
会上传任何内容吗?
不会。3DS 在你的浏览器中通过 three.js 解析,并在本地导出为 GLB。文件不会离开你的设备。