- 【3D入门-指标篇上】3D 网格重建评估指标详解与通俗比喻
- 【3D入门-指标篇下】 3D重建评估指标对比-附实现代码
1. 格式基本信息与核心特点
格式 | 全称 | 开发背景 | 核心特点 |
---|
.obj | Wavefront Object | 由Wavefront公司开发 | 文本格式为主,支持多面体、材质关联,适合建模软件间交换 |
.stl | Stereolithography | 由3D Systems开发 | 仅支持三角形网格,结构简单,专为3D打印设计 |
.ply | Polygon File Format | 斯坦福大学开发 | 高扩展性,支持自定义属性(颜色、强度等),适合三维扫描数据 |
.glb | GL Transmission Format | 基于Khronos Group的glTF标准 | 二进制格式,紧凑高效,内置材质/动画,专为实时渲染和web传输优化 |
2. 关键能力对比表
对比维度 | .obj | .stl | .ply | .glb |
---|
支持的几何类型 | 多边形(三角形、四边形等) | 仅三角形 | 多边形+点云+顶点属性 | 三角形/多边形+骨骼/动画 |
材质与纹理 | 支持(需关联.mtl 文件) | 不支持 | 支持(自定义属性) | 内置(无需外部文件) |
动画支持 | 不支持 | 不支持 | 不支持 | 支持(骨骼、变形动画) |
文件格式 | 文本(主流)/二进制 | 文本/二进制 | 文本/二进制 | 二进制(单一文件) |
文件大小 | 较大(文本冗余) | 中等(二进制紧凑) | 中等-较大(依属性多少) | 小(二进制压缩优化) |
加载速度 | 较慢(文本解析耗时) | 较快 | 中等 | 极快(二进制+预编译) |
扩展性 | 弱(固定格式) | 极弱(仅几何) | 强(可自定义属性) | 强(支持扩展规范) |
兼容性 | 建模软件(Blender/Maya) | 3D打印软件(Cura) | 扫描软件(MeshLab) | 实时引擎(Unity/Three.js) |
3. 典型应用场景
-
.obj
:
3D建模、动画前期制作、游戏美术资源交换(需传递材质信息时)。例如:设计师用Blender导出模型给Maya时保存为.obj
,同时附带.mtl
材质文件。
-
.stl
:
3D打印、快速原型制造、有限元分析(FEA)。例如:用CAD软件设计零件后,导出为.stl
格式导入切片软件(如PrusaSlicer)生成打印路径。
-
.ply
:
三维扫描数据存储、点云处理、逆向工程。例如:激光扫描得到的物体表面点云(含颜色、反射强度)保存为.ply
,用于后续网格重建。
-
.glb
:
Web3D展示(如Three.js场景)、AR/VR应用、实时渲染引擎。例如:电商网站用.glb
格式展示3D商品模型,支持用户实时旋转缩放;VR游戏中用.glb
加载带动画的角色模型。
4. 核心差异总结
- 存储效率:
.glb
> .stl
> .ply
> .obj
(二进制格式普遍优于文本格式)。 - 功能丰富度:
.glb
(支持动画、内置材质) > .ply
(自定义属性) > .obj
(基础材质) > .stl
(仅几何)。 - 行业适配:
- 建模/设计:
.obj
- 3D打印:
.stl
- 扫描/逆向工程:
.ply
- 实时渲染/Web/AR/VR:
.glb
实际应用中,格式选择需结合具体需求:若追求兼容性和简单几何,选.obj
或.stl
;若需复杂属性,选.ply
;若面向web或实时场景,.glb
是最优解(目前已成为web3D的事实标准)。