3D 模型格式完全指南(OBJ、glTF、GLB、STEP、FBX 及更多)
综合整理自多个公开技术资料,包括 Khronos Group 官方规范、ISO 标准、Blender Studio 命名规范、Poly Haven 技术标准、CSDN、Modelo.io 等社区资源。
本文全面整理了 3D 领域常见模型格式的详细说明、应用场景、优缺点对比、文件命名规范及格式转换工具。涵盖 OBJ、glTF、GLB、STEP、FBX 五种核心格式,以及 STL、3MF、PLY、PCD、DAE、3DS、ABC、USD、VRM 等 15+ 种扩展格式。
目录
1. OBJ 格式
1.1 OBJ 文件
OBJ 文件格式是一种用于表示三维几何形状的标准文件格式,最初由 Wavefront Technologies 开发。它广泛应用于计算机图形学和 3D 建模领域,支持多种 3D 软件和渲染引擎。
- 文件扩展名:
.obj
- 数据表示:纯文本格式,可被人类阅读和编辑,主要包括顶点、法线、纹理坐标和面等几何信息
文件结构
| 关键字 |
说明 |
示例 |
v |
顶点(Vertices) |
v 1.0 2.0 3.0 |
vt |
纹理坐标(Texture Coordinates) |
vt 0.5 1.0 |
vn |
法线(Normals) |
vn 0.0 0.0 1.0 |
f |
面(Faces) |
f 1/1/1 2/2/2 3/3/3 |
支持的几何类型
- 点(Points)
- 线(Lines)
- 多边形(Polygons)
- 三角形(Triangles)
应用领域
- 3D 建模:创建和编辑三维模型
- 计算机图形学:渲染和显示三维图形
- 游戏开发:导入和导出游戏中的三维模型
- 虚拟现实(VR)和增强现实(AR)
优缺点
| 优点 |
缺点 |
| 简单易读,纯文本格式 |
不支持复杂的材质和动画信息 |
| 广泛支持,多种 3D 软件和渲染引擎兼容 |
文件可能较大(大量顶点和面时) |
| 易于编辑和调试 |
不支持层次结构和装配信息 |
示例
# List of vertices
v 0.0 0.0 0.0
v 1.0 0.0 0.0
v 1.0 1.0 0.0
v 0.0 1.0 0.0
# List of texture coordinates
vt 0.0 0.0
vt 1.0 0.0
vt 1.0 1.0
vt 0.0 1.0
# List of normals
vn 0.0 0.0 1.0
# List of faces
f 1/1/1 2/2/1 3/3/1 4/4/1
1.2 MTL 文件
材质文件(MTL)是一种用于描述 3D 模型材质属性的文件格式,通常与 OBJ 文件一起使用。使用纯文本格式,定义了模型表面的颜色、纹理、反射率等材质属性。
文件结构
| 关键字 |
说明 |
示例 |
newmtl |
材质名称 |
newmtl MaterialName |
Ka |
环境光颜色(Ambient Color) |
Ka 1.000 1.000 1.000 |
Kd |
漫反射颜色(Diffuse Color) |
Kd 1.000 0.000 0.000 |
Ks |
镜面反射颜色(Specular Color) |
Ks 0.500 0.500 0.500 |
Ns |
镜面高光指数(Specular Exponent) |
Ns 100.0 |
d / Tr |
透明度(0.0~1.0) |
d 1.0 |
illum |
光照模型 |
illum 2 |
map_Kd |
漫反射纹理映射 |
map_Kd texture.jpg |
支持的材质属性
- 环境光颜色(Ka)
- 漫反射颜色(Kd)
- 镜面反射颜色(Ks)
- 镜面高光指数(Ns)
- 透明度(d 或 Tr)
- 光照模型(illum)
- 纹理映射(map_Kd, map_Ka, map_Ks, map_d, map_bump 等)
示例
# Define a new material named "RedMaterial"
newmtl RedMaterial
Ka 1.000 1.000 1.000
Kd 1.000 0.000 0.000
Ks 0.500 0.500 0.500
Ns 100.0
d 1.0
illum 2
map_Kd red_texture.jpg
# Define another material named "TransparentMaterial"
newmtl TransparentMaterial
Ka 1.000 1.000 1.000
Kd 0.000 1.000 0.000
Ks 0.500 0.500 0.500
Ns 100.0
d 0.5
illum 2
map_Kd green_texture.png
2. glTF 格式
glTF(GL Transmission Format)是一种用于 3D 场景和模型的文件格式,设计目标是提供高效的加载和运行时最小的内存占用。
关键特性
- 开放标准:由 Khronos Group(OpenGL 和 WebGL 的背后组织)开发和维护
- JSON 格式:包含 3D 模型的结构和属性信息(节点、网格、材质等),可被人类读取和机器轻松解析
- 二进制数据和纹理:可引用外部文件(.bin 和纹理图像),数据可直接上传到 GPU
- PBR 材质:支持基于物理的渲染(PBR)材质,可创建逼真的 3D 模型
- 动画:支持骨骼动画和形状变形
- 扩展性:支持通过扩展增加新功能(光照、环境贴图等)
- 广泛支持:Three.js、Babylon.js、Unity、Unreal Engine 等
文件组成
一个 glTF 模型是一个目录,包含多个文件:
| 文件类型 |
说明 |
数量 |
.gltf |
场景描述文件(JSON 格式) |
1 个 |
.bin |
几何数据(二进制文件) |
0~n 个 |
.png / .jpg |
图片纹理 |
0~n 个 |
参考:glTF 2.0 格式说明
主要组成部分
| 组成部分 |
说明 |
| Asset |
文件元数据(版本、生成器等) |
| Scenes |
3D 场景列表,每个场景包含一组节点(Node) |
| Nodes |
3D 对象列表,可包含网格(Mesh)、摄像机(Camera)、骨骼(Skin)等 |
| Meshes |
3D 网格列表,每个网格包含一组图元(Primitive) |
| Materials |
材质列表,定义表面外观(颜色、纹理、光照模型等) |
| Textures |
纹理列表,每个纹理包含图像(Image)和采样器(Sampler) |
| Animations |
动画列表,包含通道(Channel)和采样器(Sampler) |
Primitive 绘制模式
| 模式 |
说明 |
| POINTS |
独立的点(1 个点) |
| LINES |
线段(2 个顶点) |
| LINE_LOOP |
线环(首尾相连) |
| LINE_STRIP |
线条带(顶点按顺序连接) |
| TRIANGLES |
三角形(3 个顶点,默认值) |
| TRIANGLE_STRIP |
三角形带 |
| TRIANGLE_FAN |
三角形扇 |
示例
{
"asset": {
"version": "2.0"
},
"scenes": [
{
"nodes": [0]
}
],
"nodes": [
{
"mesh": 0
}
],
"meshes": [
{
"primitives": [
{
"attributes": {
"POSITION": 0
},
"indices": 1
}
]
}
],
"buffers": [
{
"uri": "data:application/octet-stream;base64,...",
"byteLength": 1024
}
],
"bufferViews": [
{
"buffer": 0,
"byteOffset": 0,
"byteLength": 512
}
],
"accessors": [
{
"bufferView": 0,
"componentType": 5123,
"count": 36,
"type": "SCALAR"
}
]
}
3. GLB 格式
GLB 是 glTF 的二进制版本,由 Khronos Group 定义。
关键特性
- 单一文件:将所有模型数据(结构、几何、纹理等)打包到一个文件中,更易于传输和加载
- 二进制格式:可直接被 GPU 读取和处理,无需预处理,但不易于人类阅读和编辑
- glTF 兼容:完全兼容 glTF 规范,支持 PBR 材质、动画、骨骼等所有特性
- 广泛支持:Three.js、Babylon.js、Unity、Unreal Engine 等
GLB 是一种高效、紧凑的 3D 模型格式,特别适合网络传输和实时渲染。
4. glTF 和 GLB 格式比较
| 对比项 |
glTF (.gltf) |
GLB (.glb) |
| 格式 |
JSON 文本格式 |
二进制格式 |
| 文件数量 |
多文件(.gltf + .bin + 纹理) |
单一文件 |
| 可读性 |
易于阅读和编辑 |
不易于阅读和编辑 |
| 传输便利性 |
需要多个文件 |
单文件即可传输 |
| GPU 加载 |
需要预处理 |
可直接读取 |
| 适用场景 |
开发调试、需要编辑的场景 |
网络传输、生产部署 |
选择建议:
- 需要易于阅读和编辑 → 选择 glTF
- 需要易于传输和加载 → 选择 GLB
5. STEP 格式
STEP(Standard for the Exchange of Product model data)是一种用于描述三维模型数据的国际标准格式,由 ISO 10303 标准定义,主要目的是实现不同 CAD 系统之间的互操作性。
- 文件扩展名:
.stp 或 .step
- 数据格式:ASCII 文本格式,包含几何信息、拓扑信息、材料属性、装配结构等
数据结构
HEADER → 文件头部(文件名、作者、日期等)
DATA → 数据部分(几何和拓扑信息)
END-ISO-10303-21 → 文件结束标志
优缺点
| 优点 |
缺点 |
| 高互操作性,不同 CAD 软件可数据交换 |
文件可能较大 |
| ISO 10303 国际标准 |
解析和生成需要较高计算资源 |
| 支持复杂的几何和拓扑信息 |
— |
应用领域
- 机械设计、建筑设计
- 航空航天、汽车制造
- 电子产品设计等工程和制造领域
示例
ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('Example STEP file'),'2;1');
FILE_NAME('example.stp','2023-10-10T12:00:00',('Author'),('Organization'),'','');
FILE_SCHEMA(('CONFIG_CONTROL_DESIGN'));
ENDSEC;
DATA;
#1 = CARTESIAN_POINT('',(0.0, 0.0, 0.0));
#2 = CARTESIAN_POINT('',(1.0, 0.0, 0.0));
#3 = LINE('',#1,#2);
ENDSEC;
END-ISO-10303-21;
6. glTF 和 STEP 格式比较
| 对比项 |
glTF |
STEP |
| 发布机构 |
Khronos Group |
ISO(ISO 10303) |
| 文件扩展名 |
.gltf / .glb |
.stp / .step |
| 数据格式 |
JSON / 二进制 |
ASCII 文本 |
| 主要用途 |
实时 3D 图形和 Web 应用 |
工程和制造领域数据交换 |
| 应用领域 |
WebGL、VR、AR、游戏开发 |
机械设计、建筑、航空航天、汽车制造 |
| 内容侧重 |
几何、材质、纹理、动画 |
几何、拓扑、材料属性、装配结构 |
| 文件大小 |
通常较小,支持 Draco 压缩 |
可能较大 |
| 互操作性 |
浏览器、3D 引擎(Three.js 等) |
CAD 软件(AutoCAD、SolidWorks、CATIA 等) |
| 特色功能 |
PBR 材质、骨骼动画 |
装配结构、产品数据管理 |
7. FBX 格式
FBX(Filmbox)是一种广泛使用的三维模型和动画文件格式,由 Autodesk 开发和维护,支持多种 3D 数据类型。
- 文件扩展名:
.fbx
- 数据表示:支持二进制格式(紧凑,适合传输存储)和 ASCII 文本格式(易于阅读和调试)
支持的数据类型
| 数据类型 |
说明 |
| 几何(Geometry) |
顶点、边、面、法线、UV 坐标等 |
| 材质(Materials) |
颜色、纹理、反射率等 |
| 动画(Animation) |
关键帧动画、骨骼动画、变形动画等 |
| 骨骼(Skeletons) |
骨骼结构、关节、权重等 |
| 灯光(Lights) |
点光源、聚光灯、环境光等 |
| 摄像机(Cameras) |
透视摄像机、正交摄像机等 |
文件结构
| 组成部分 |
说明 |
| Header |
文件头部(版本等基本信息) |
| Objects |
所有对象定义(几何、材质、动画等) |
| Connections |
对象之间的关系和连接 |
| Takes |
动画数据 |
应用领域
- 3D 建模和动画
- 游戏开发
- 虚拟现实(VR)和增强现实(AR)
- 影视制作
优缺点
| 优点 |
缺点 |
| 支持多种 3D 数据类型 |
文件结构复杂,不易手动编辑 |
| 高度兼容,广泛支持多种 3D 软件 |
文件可能较大(大量动画数据时) |
| 支持复杂的动画和骨骼结构 |
二进制格式不易阅读和调试 |
FBX 与 glTF 对比
| 对比项 |
FBX |
glTF |
| 适用场景 |
复杂动画和骨骼结构的 3D 建模 |
实时渲染和 Web 应用 |
| 应用领域 |
游戏开发、影视制作、VR |
WebGL、VR、AR、实时交互 |
| 文件特点 |
功能丰富,文件较大 |
轻量级,文件小,易于传输 |
8. 各格式应用场景详解
8.1 OBJ 格式应用场景
| 场景 |
说明 |
| 图形学教学与学习 |
OpenGL / WebGL 入门教程中最常用的模型加载格式,代码示例丰富 |
| 3D 打印 |
简单的静态模型导出,配合切片软件使用 |
| 轻量级数据交换 |
在不同建模软件间传递静态几何体 |
| 原型设计与概念展示 |
快速导出查看效果,无需复杂材质和动画 |
| 考古与文化遗产数字化 |
激光扫描生成的点云/网格数据常用 OBJ 存储 |
不适用场景:需要动画、骨骼绑定、PBR 材质或层次结构的场景(如游戏角色、影视特效)。
8.2 glTF / GLB 格式应用场景
| 场景 |
说明 |
| Web 3D 与在线展示 |
WebGL / WebXR 网页端 3D 模型加载的首选格式,支持流式传输 |
| 电商产品展示 |
商品 3D 预览、AR 试穿/试戴(如 Shopify、淘宝 3D 查看) |
| AR / VR 应用 |
Meta Quest、Apple Vision Pro 等设备的内容分发格式 |
| 数字孪生 |
建筑 BIM、智慧城市、工业数字孪生的可视化层 |
| 元宇宙与虚拟世界 |
Spatial、Decentraland 等平台的标准资产格式 |
| 移动端实时渲染 |
文件小、GPU 友好,适合手机/平板上的 3D 应用 |
| 游戏开发 |
Unity、Unreal Engine 原生支持,适合中小型游戏资产 |
glTF vs GLB 选择指南:
- 开发调试阶段 → 使用 glTF(可读可编辑,方便排查问题)
- 生产部署上线 → 使用 GLB(单文件、HTTP 请求少、加载快、易缓存)
- 需要动态替换纹理 → 使用 glTF(纹理为外部文件,可单独替换)
- 模型查看器 / 嵌入网页 → 使用 GLB(单文件嵌入最方便)
8.3 STEP 格式应用场景
| 场景 |
说明 |
| CAD 跨平台数据交换 |
不同 CAD 软件间的模型互导(CATIA ↔ NX ↔ SolidWorks ↔ Creo) |
| 航空航天 |
飞机零部件设计、装配体传递,AP242 版本为行业标准 |
| 汽车制造 |
AP214 标准专为汽车行业设计,支持复杂装配和汽车特定信息 |
| 供应链协同 |
OEM 厂商与供应商之间的强制性交付格式 |
| CAM / CAE 衔接 |
从设计端到数控编程(CAM)、仿真分析(CAE)的无缝衔接 |
| PLM 产品生命周期管理 |
长期存储和追溯产品设计数据 |
| 3D 打印(工程级) |
精密零件打印时保留完整几何和拓扑信息 |
STEP 应用协议版本:
| 版本 |
全称 |
主要用途 |
| AP203 |
Configuration Controlled Design |
通用机械设计 |
| AP214 |
Core Data for Automotive |
汽车行业设计标准 |
| AP242 |
Managed Model-Based 3D Engineering |
最新综合版本,支持 PMI(产品制造信息) |
不适用场景:实时渲染、Web 应用、游戏开发(需经专用转换器转为网格格式)。
8.4 FBX 格式应用场景
| 场景 |
说明 |
| 游戏角色动画 |
骨骼动画、蒙皮权重、变形动画的行业标准 |
| 影视特效与动画 |
Maya、3ds Max、MotionBuilder 之间的动画数据交换 |
| 动作捕捉数据传递 |
MoCap 数据从录制软件导入到 DCC 工具 |
| 虚拟制片 |
LED 屏幕虚拟拍摄中的摄像机和灯光数据 |
| 建筑可视化 |
建筑动画漫游、室内设计展示 |
| Unity / Unreal Engine 资产导入 |
游戏引擎中最常用的动画资产导入格式 |
不适用场景:Web 端 3D 展示、移动端轻量应用(文件大、解析复杂)。
8.5 场景选择速查表
| 你的需求 |
推荐格式 |
原因 |
| 网页 3D 展示 / 电商 AR |
GLB |
单文件、加载快、PBR 材质 |
| 游戏角色带动画 |
FBX |
骨骼动画支持最完善 |
| 教学学习 3D 图形学 |
OBJ |
格式简单、代码示例多 |
| CAD 模型跨软件交换 |
STEP |
工业标准、保留完整设计意图 |
| 3D 打印简单模型 |
OBJ / STL |
通用、切片软件广泛支持 |
| 精密零件工程打印 |
STEP |
保留精确几何和拓扑 |
| 数字孪生可视化 |
GLB |
实时渲染、Web 友好 |
| 影视动画制作 |
FBX |
复杂动画和摄像机数据 |
| 元宇宙 / VR 平台资产 |
GLB |
行业生态标准 |
| 开发调试 3D 模型 |
glTF |
JSON 可读、方便编辑 |
9. 深度优缺点对比
9.1 功能特性对比
| 特性 |
OBJ |
glTF |
GLB |
STEP |
FBX |
| 几何数据 |
✅ 顶点/面 |
✅ 顶点/面 |
✅ 顶点/面 |
✅ B-Rep/实体 |
✅ 顶点/面 |
| 材质系统 |
⚠️ 基础(MTL) |
✅ PBR 金属-粗糙度 |
✅ PBR 金属-粗糙度 |
⚠️ 材料属性 |
⚠️ 传统材质 |
| 纹理贴图 |
✅ 基础 UV |
✅ 完整 PBR 纹理 |
✅ 内嵌纹理 |
❌ |
✅ 多通道纹理 |
| 骨骼动画 |
❌ |
✅ 骨骼+变形 |
✅ 骨骼+变形 |
❌ |
✅ 最完善 |
| 关键帧动画 |
❌ |
✅ |
✅ |
❌ |
✅ |
| 摄像机/灯光 |
❌ |
✅ |
✅ |
❌ |
✅ |
| 层次结构(场景图) |
❌ |
✅ 节点树 |
✅ 节点树 |
✅ 装配结构 |
✅ 层级节点 |
| 压缩支持 |
❌ |
✅ Draco 网格压缩 |
✅ Draco 网格压缩 |
❌ |
❌ |
| 二进制优化 |
❌ 纯文本 |
⚠️ 可选 GLB |
✅ 原生二进制 |
⚠️ 可选压缩 |
✅ 原生二进制 |
| 拓扑信息 |
❌ 仅网格 |
❌ 仅网格 |
❌ 仅网格 |
✅ B-Rep 实体 |
❌ 仅网格 |
9.2 性能与工程对比
| 维度 |
OBJ |
glTF |
GLB |
STEP |
FBX |
| 文件大小 |
中等(文本冗余) |
较小 |
最小 |
较大 |
较大 |
| 解析速度 |
快 |
快 |
最快 |
慢 |
中等 |
| 内存占用 |
中等 |
较低 |
最低 |
高 |
中等 |
| GPU 加载效率 |
低(需预处理) |
高 |
最高 |
不适用 |
中等 |
| 网络传输 |
不友好(多文件) |
一般(多请求) |
最优(单文件) |
不适用 |
不友好 |
| 可读性 |
最高(纯文本) |
高(JSON) |
低(二进制) |
高(ASCII) |
低(二进制) |
| 手动编辑 |
容易 |
较容易 |
困难 |
困难 |
困难 |
| 解析库生态 |
丰富 |
丰富 |
丰富 |
稀少 |
中等(FBX SDK) |
9.3 生态与兼容性对比
| 维度 |
OBJ |
glTF |
GLB |
STEP |
FBX |
| 标准化 |
事实标准 |
Khronos 开放标准 |
Khronos 开放标准 |
ISO 国际标准 |
Autodesk 私有 |
| 开源程度 |
完全开放 |
完全开放 |
完全开放 |
完全开放 |
SDK 有限制 |
| 浏览器支持 |
需转换 |
原生支持 |
原生支持 |
不支持 |
需转换 |
| 游戏引擎 |
支持 |
原生支持 |
原生支持 |
不支持 |
原生支持 |
| CAD 软件 |
基础导入 |
不支持 |
不支持 |
原生支持 |
有限支持 |
| DCC 工具 |
广泛支持 |
广泛支持 |
广泛支持 |
不支持 |
最广泛 |
| 3D 打印切片 |
广泛支持 |
有限 |
有限 |
有限 |
不支持 |
| 长期存档 |
⚠️ 无版本管理 |
✅ 有版本规范 |
✅ 有版本规范 |
✅ ISO 标准 |
⚠️ 版本碎片化 |
9.4 各格式核心优缺点总结
OBJ
| 优点 |
缺点 |
| 格式极简,学习成本最低 |
无动画、无骨骼、无场景图 |
| 几乎所有 3D 软件原生支持 |
材质系统落后(不支持 PBR) |
| 纯文本可读,便于调试 |
无压缩,文件体积偏大 |
| 适合教学和快速原型 |
无层次结构,不支持装配体 |
| 多文件分离,灵活管理 |
缺乏标准化版本管理 |
glTF
| 优点 |
缺点 |
| “3D 界的 JPEG”,行业标准定位 |
多文件管理稍复杂 |
| PBR 材质,渲染效果逼真 |
不支持 B-Rep 实体几何 |
| 骨骼动画 + 变形动画 |
CAD 领域支持薄弱 |
| Draco 压缩,文件极小 |
复杂场景的扩展规范仍在演进 |
| JSON 可读,生态工具丰富 |
— |
GLB
| 优点 |
缺点 |
| 单文件打包,传输和部署最方便 |
二进制不可读,调试困难 |
| HTTP 单请求加载,性能最优 |
纹理更新需重新打包整个文件 |
| GPU 直接读取,运行时内存最低 |
文件内嵌纹理无法独立替换 |
| 完美适配 Web 和移动端 |
— |
| 缓存友好,CDN 分发高效 |
— |
STEP
| 优点 |
缺点 |
| ISO 国际标准,法律和供应链强制要求 |
文件大,解析耗内存 |
| 保留完整 B-Rep 实体和拓扑信息 |
无法直接用于实时渲染 |
| 支持装配结构、PMI 制造信息 |
解析库稀少,开发成本高 |
| AP242 版本功能持续增强 |
格式复杂,手动编辑不现实 |
| 跨 CAD 软件互操作性最强 |
— |
FBX
| 优点 |
缺点 |
| 动画支持最完善(骨骼、变形、MoCap) |
Autodesk 私有格式,开放性受限 |
| DCC 工具链兼容性最好(Maya/Max/Blender) |
文件大,不适合 Web 传输 |
| 支持摄像机、灯光、材质完整场景 |
二进制格式版本碎片化严重 |
| 游戏引擎动画资产的事实标准 |
FBX SDK 许可证有限制 |
| 虚拟制片行业核心格式 |
不支持 PBR 材质 |
10. 更多 3D 格式速览
除了前文详细介绍的 OBJ、glTF、GLB、STEP、FBX 五种核心格式外,3D 领域还有许多其他格式。本章按应用领域分类,对常用和不常用的格式进行简要介绍。
10.1 3D 打印格式
STL(Stereolithography)
| 项目 |
说明 |
| 扩展名 |
.stl |
| 诞生年份 |
1987 年,3D Systems 公司 |
| 数据格式 |
ASCII 文本或二进制,仅存储三角面片表面几何 |
| 核心特点 |
最古老、最通用的 3D 打印格式,几乎所有切片软件都支持 |
| 支持内容 |
仅三角网格(无颜色、无材质、无纹理、无动画) |
| 优点 |
生态最成熟、切片软件广泛支持、文件简单 |
| 缺点 |
信息量极少(仅几何)、文件可能很大、无拓扑信息、无法区分内外表面 |
| 应用场景 |
FDM/SLA/DLP 等 3D 打印的通用交换格式 |
3MF(3D Manufacturing Format)
| 项目 |
说明 |
| 扩展名 |
.3mf |
| 发布方 |
3MF 联盟(Microsoft、HP、Autodesk、Stratasys 等) |
| 数据格式 |
基于 XML + OPC(Open Packaging Convention)的 ZIP 压缩包 |
| 核心特点 |
旨在取代 STL 的新一代 3D 打印标准,支持完整制造信息 |
| 支持内容 |
几何网格、颜色、材质、纹理、多材料、打印设置、网格结构元数据 |
| 优点 |
信息完整、支持多材料/多色打印、包含切片参数、基于开放标准 |
| 缺点 |
生态仍在发展中、部分老旧切片软件不支持 |
| 应用场景 |
工业级 3D 打印、多材料打印、全彩 3D 打印 |
STL vs 3MF 对比:
| 对比项 |
STL |
3MF |
| 几何数据 |
✅ 三角面片 |
✅ 三角面片 |
| 颜色/材质 |
❌ |
✅ |
| 多材料 |
❌ |
✅ |
| 打印设置 |
❌ |
✅ 内嵌 |
| 纹理贴图 |
❌ |
✅ |
| 网格结构 |
❌ |
✅(晶格/填充) |
| 文件大小 |
较大(冗余) |
较小(ZIP 压缩) |
| 生态成熟度 |
最高 |
快速增长中 |
10.2 点云与扫描格式
PLY(Polygon File Format / Stanford Triangle Format)
| 项目 |
说明 |
| 扩展名 |
.ply |
| 发布方 |
斯坦福大学 |
| 数据格式 |
ASCII 文本或二进制 |
| 核心特点 |
因"斯坦福兔子"模型而闻名,可同时存储点云和网格数据 |
| 支持内容 |
顶点位置、颜色、法线、面片、自定义属性 |
| 优点 |
灵活可扩展(自定义属性)、同时支持点云和网格、学术/扫描领域广泛使用 |
| 缺点 |
文件较大、不支持动画和材质、生态相对小众 |
| 应用场景 |
3D 扫描、点云处理、计算机视觉研究、3D 重建 |
PCD(Point Cloud Data)
| 项目 |
说明 |
| 扩展名 |
.pcd |
| 发布方 |
Open3D / PCL(Point Cloud Library) |
| 数据格式 |
二进制或 ASCII |
| 核心特点 |
PCL 库的原生格式,专为点云处理设计 |
| 支持内容 |
点位置、颜色、法线、强度、自定义字段 |
| 优点 |
PCL/Open3D 原生支持、支持丰富的点属性、二进制模式读写高效 |
| 缺点 |
几乎仅限点云领域使用、不支持网格和动画 |
| 应用场景 |
激光雷达(LiDAR)、自动驾驶点云、3D 扫描、SLAM |
PLY vs PCD 对比:
| 对比项 |
PLY |
PCD |
| 数据类型 |
点云 + 网格 |
仅点云 |
| 自定义属性 |
✅ 灵活 |
✅ 灵活 |
| 生态/工具 |
Blender、MeshLab、CloudCompare |
PCL、Open3D |
| 学术界 |
广泛 |
广泛 |
| 工业界 |
3D 扫描 |
LiDAR、自动驾驶 |
10.3 CAD / 工程格式
IGES(Initial Graphics Exchange Specification)
| 项目 |
说明 |
| 扩展名 |
.igs / .iges |
| 发布方 |
美国空军 + 波音(1970 年代),ANSI 标准 |
| 数据格式 |
ASCII 文本 |
| 核心特点 |
最古老的 CAD 交换格式之一,主要描述曲面几何 |
| 支持内容 |
线框、曲面、实体(有限)、标注 |
| 优点 |
历史悠久、老旧 CAD 系统广泛支持 |
| 缺点 |
仅支持曲面(无完整 B-Rep 实体)、文件大、已被 STEP 大量替代 |
| 应用场景 |
老旧 CAD 系统的数据交换、曲面建模(如汽车外观设计) |
JT(JT Format)
| 项目 |
说明 |
| 扩展名 |
.jt |
| 发布方 |
Siemens(西门子) |
| 数据格式 |
二进制 |
| 核心特点 |
Siemens PLM 软件的原生格式,工业界重要的轻量化格式 |
| 支持内容 |
精确几何、装配结构、PMI、可视化数据 |
| 优点 |
支持超大装配体的轻量化浏览、Teamcenter 深度集成 |
| 缺点 |
Siemens 生态绑定较深、第三方支持有限 |
| 应用场景 |
汽车和航空航天领域的大型装配体可视化、PLM 协同 |
PRC(Product Representation Compact)
| 项目 |
说明 |
| 扩展名 |
.prc |
| 发布方 |
PTC(Parametric Technology Corporation) |
| 数据格式 |
二进制 |
| 核心特点 |
PDF 中嵌入 3D 数据的标准格式(ISO 24517) |
| 支持内容 |
精确 B-Rep 几何、装配结构、PMI |
| 优点 |
可嵌入 PDF 文档、支持精确几何浏览、文件紧凑 |
| 缺点 |
主要用于 PDF 3D 交互、独立使用较少 |
| 应用场景 |
技术文档中的 3D 交互预览、产品数据发布 |
10.4 DCC / 动画格式
DAE(COLLADA - Collaborative Design Activity)
| 项目 |
说明 |
| 扩展名 |
.dae |
| 发布方 |
Khronos Group |
| 数据格式 |
基于 XML 的文本格式 |
| 核心特点 |
曾被称为"3D 界的 XML",设计为跨软件的通用交换格式 |
| 支持内容 |
几何、材质、纹理、动画、骨骼、物理、摄像机、灯光 |
| 优点 |
功能全面、开放标准、人类可读(XML)、支持动画和物理 |
| 缺点 |
XML 冗余导致文件大、解析慢、逐渐被 glTF 替代、部分软件支持不完整 |
| 应用场景 |
Google Earth / SketchUp 旧版交换、Blender 导出、学术项目 |
3DS(3D Studio)
| 项目 |
说明 |
| 扩展名 |
.3ds |
| 发布方 |
Autodesk(原 Discreet / Kinetix) |
| 数据格式 |
二进制 |
| 核心特点 |
3ds Max 的经典格式,最古老的 3D 格式之一(1990 年代) |
| 支持内容 |
网格几何、材质、纹理、摄像机、灯光、基础动画 |
| 优点 |
生态成熟、大量老旧资产仍使用此格式、广泛支持 |
| 缺点 |
顶点数限制 65536、不支持现代 PBR 材质、不支持骨骼动画权重、已过时 |
| 应用场景 |
老旧游戏资产、复古 3D 内容、简单的静态模型交换 |
ABC(Alembic)
| 项目 |
说明 |
| 扩展名 |
.abc |
| 发布方 |
ILM(工业光魔)+ Sony Pictures Imageworks |
| 数据格式 |
二进制,基于 HDF5 |
| 核心特点 |
影视行业标准的几何缓存格式,用于存储烘焙后的动画几何数据 |
| 支持内容 |
顶点动画、粒子、曲线、变形、层次结构 |
| 优点 |
高效存储大量动画帧数据、支持增量写入、影视管线成熟 |
| 缺点 |
不存储材质/纹理/骨骼、主要用于缓存而非交换、学习曲线陡 |
| 应用场景 |
影视特效中的流体/粒子/布料模拟缓存、大型场景的烘焙数据 |
DAE vs 3DS vs ABC 对比:
| 对比项 |
DAE (COLLADA) |
3DS |
ABC (Alembic) |
| 格式 |
XML 文本 |
二进制 |
二进制(HDF5) |
| 动画 |
✅ 基础骨骼 |
⚠️ 基础关键帧 |
✅ 顶点动画缓存 |
| 材质 |
✅ 传统材质 |
⚠️ 基础材质 |
❌ |
| 顶点限制 |
无 |
65536 |
无 |
| 主要用途 |
跨软件交换 |
老旧资产兼容 |
影视缓存 |
| 现状 |
逐渐被 glTF 替代 |
已过时 |
影视行业活跃 |
10.5 Web / VR 格式
VRML / X3D
| 项目 |
说明 |
| 扩展名 |
.wrl(VRML)/ .x3d / .x3db(X3D) |
| 发布方 |
Web3D 联盟 |
| 数据格式 |
VRML 为文本,X3D 支持 XML / VRML / 二进制 |
| 核心特点 |
最早的 Web 3D 标准(1994 年),X3D 为其现代继承者 |
| 支持内容 |
几何、材质、动画、交互、脚本、物理 |
| 优点 |
标准化、支持交互和脚本、X3D 支持 XML 序列化 |
| 缺点 |
性能差、生态萎缩、已被 WebGL + glTF 完全取代 |
| 应用场景 |
学术研究、老旧 Web 3D 项目、部分科学可视化 |
VRM / VRM-A
| 项目 |
说明 |
| 扩展名 |
.vrm |
| 发布方 |
VRM Consortium(日本) |
| 数据格式 |
基于 glTF 2.0 的扩展(JSON + GLB) |
| 核心特点 |
日本发源,专为 VRChat / VTuber 虚拟形象设计的格式 |
| 支持内容 |
角色网格、PBR 材质、骨骼动画、面部表情(BlendShape)、人体约束 |
| 优点 |
与 glTF 生态兼容、VRChat/UniVRM 原生支持、表情系统完善 |
| 缺点 |
主要限于日本 VR 社区、国际生态较小 |
| 应用场景 |
VRChat 虚拟形象、VTuber 3D 模型、虚拟角色分发 |
10.6 新兴 / 专用格式
USD / USDA / USDC / USDZ
| 项目 |
说明 |
| 扩展名 |
.usd / .usda / .usdc / .usdz |
| 发布方 |
Pixar,2019 年开源 |
| 数据格式 |
USDA(文本)/ USDC(二进制)/ USDZ(ZIP 压缩) |
| 核心特点 |
面向大型影视/游戏/工业场景的组合式场景描述格式,被称为"3D 界的 USD" |
| 支持内容 |
几何、材质、纹理、动画、灯光、物理、层次结构、自定义元数据 |
| 优点 |
非破坏式引用、图层系统、延迟加载、超大规模场景支持 |
| 缺点 |
学习曲线陡、工具链仍在完善、中小项目可能过重 |
| 应用场景 |
NVIDIA Omniverse、UE5、Unity、Apple Vision Pro、影视制作 |
MaterialX(.mtlx)
| 项目 |
说明 |
| 扩展名 |
.mtlx |
| 发布方 |
Autodesk(Academy Software Foundation) |
| 数据格式 |
XML |
| 核心特点 |
开源的材质定义互操作标准,用于在不同渲染器间传递材质 |
| 支持内容 |
材质节点图、着色器定义、纹理引用 |
| 优点 |
渲染器无关、支持 Arnold / RenderMan / UsdPreview 等 |
| 缺点 |
仅定义材质,不包含几何数据 |
| 应用场景 |
影视管线中的材质互操作、跨渲染器资产交付 |
10.7 全格式总览表
| 格式 |
扩展名 |
类型 |
领域 |
动画 |
PBR |
开放性 |
热度 |
| OBJ |
.obj |
网格 |
通用 |
❌ |
❌ |
开放 |
★★★★★ |
| glTF |
.gltf |
场景 |
Web/游戏 |
✅ |
✅ |
开放 |
★★★★★ |
| GLB |
.glb |
场景 |
Web/游戏 |
✅ |
✅ |
开放 |
★★★★★ |
| FBX |
.fbx |
场景 |
游戏/影视 |
✅ |
❌ |
私有 |
★★★★★ |
| STEP |
.stp |
CAD |
工程 |
❌ |
❌ |
开放 |
★★★★★ |
| STL |
.stl |
网格 |
3D 打印 |
❌ |
❌ |
开放 |
★★★★★ |
| USD |
.usd |
场景 |
影视/大型 |
✅ |
✅ |
开放 |
★★★★☆ |
| DAE |
.dae |
场景 |
通用交换 |
✅ |
❌ |
开放 |
★★★☆☆ |
| 3DS |
.3ds |
场景 |
老旧资产 |
⚠️ |
❌ |
私有 |
★★★☆☆ |
| ABC |
.abc |
缓存 |
影视特效 |
✅ |
❌ |
开放 |
★★★☆☆ |
| PLY |
.ply |
点云/网格 |
扫描/学术 |
❌ |
❌ |
开放 |
★★★☆☆ |
| PCD |
.pcd |
点云 |
LiDAR/扫描 |
❌ |
❌ |
开放 |
★★★☆☆ |
| 3MF |
.3mf |
制造 |
3D 打印 |
❌ |
❌ |
开放 |
★★★☆☆ |
| IGES |
.igs |
CAD |
工程 |
❌ |
❌ |
开放 |
★★☆☆☆ |
| JT |
.jt |
CAD |
工业/PLM |
❌ |
❌ |
私有 |
★★☆☆☆ |
| VRML |
.wrl |
场景 |
Web(过时) |
⚠️ |
❌ |
开放 |
★☆☆☆☆ |
| X3D |
.x3d |
场景 |
Web(过时) |
⚠️ |
❌ |
开放 |
★☆☆☆☆ |
| VRM |
.vrm |
角色 |
VR/VTuber |
✅ |
✅ |
开放 |
★★☆☆☆ |
| PRC |
.prc |
CAD |
PDF 3D |
❌ |
❌ |
开放 |
★★☆☆☆ |
| MaterialX |
.mtlx |
材质 |
影视管线 |
❌ |
✅ |
开放 |
★★☆☆☆ |
热度说明:★★★★★ = 行业必备,★★★★☆ = 快速增长,★★★☆☆ = 常用但非主流,★★☆☆☆ = 小众/特定领域,★☆☆☆☆ = 过时/衰退中
11. 总结对比表
| 格式 |
扩展名 |
数据格式 |
动画支持 |
PBR 材质 |
主要应用领域 |
文件大小 |
| OBJ |
.obj / .mtl |
纯文本 |
❌ |
❌ |
3D 建模、图形学学习、3D 打印 |
中等 |
| glTF |
.gltf |
JSON + 外部文件 |
✅ |
✅ |
Web 3D、AR/VR、数字孪生 |
较小 |
| GLB |
.glb |
二进制单文件 |
✅ |
✅ |
Web 3D、电商 AR、元宇宙 |
最小 |
| STEP |
.stp / .step |
ASCII 文本 |
❌ |
❌ |
CAD 互导、航空航天、汽车制造 |
较大 |
| FBX |
.fbx |
二进制/ASCII |
✅ |
❌ |
游戏动画、影视特效、虚拟制片 |
较大 |
格式选择决策流程
你的项目是什么类型?
│
├── 工程 / 制造 / CAD
│ └── STEP(跨软件交换)或 OBJ(简单几何导出)
│
├── Web / 移动端 / AR
│ └── GLB(生产部署)或 glTF(开发调试)
│
├── 游戏 / 影视 / 动画
│ └── FBX(动画资产)+ GLB(静态场景/道具)
│
├── 3D 打印
│ └── STEP(精密零件)或 OBJ/STL(简单模型)
│
└── 教学学习
└── OBJ(最简单,教程最多)
参考资料:
12. 文件命名规范
良好的文件命名规范是 3D 资产管理的基础,能显著提升团队协作效率、减少版本混乱、方便自动化工具处理。以下规范综合了 Blender Studio、Poly Haven、游戏行业等主流实践。
12.1 通用命名原则
| 原则 |
说明 |
示例 |
| 全小写 |
避免大小写敏感问题(Windows 不区分,Linux 区分) |
hero_char.glb ✅ / Hero_Char.glb ❌ |
| 下划线分隔 |
用 _ 分隔单词,不用空格或连字符 |
iron_sword_v03 ✅ / iron-sword v03 ❌ |
| 无特殊字符 |
禁止 +=#^*&$()?! 等符号 |
wall_01 ✅ / wall#01 ❌ |
| 无中文/空格 |
仅使用拉丁字母(a-z)、数字(0-9)和下划线 |
chair_oak ✅ / 橡木椅子 ❌ |
| 层次从宽到窄 |
文件名体现从大类到小类的层级关系 |
chr_hero_combat_v02.fbx |
| 版本号递增 |
使用 _v01、_v02 连续编号,不用日期 |
scene_hall_v03.glb ✅ / scene_hall_20240601.glb ❌ |
12.2 命名公式
基础公式
{项目前缀}_{资产类型}_{描述名称}_{变体}_{版本}.{扩展名}
| 字段 |
说明 |
可选 |
示例值 |
| 项目前缀 |
项目缩写,区分不同项目 |
是 |
prj、game、bld |
| 资产类型 |
资产分类缩写 |
否 |
chr、prop、env、veh、fx |
| 描述名称 |
具体资产的描述性名称 |
否 |
hero、sword、oak_tree |
| 变体 |
同一资产的不同版本/状态 |
是 |
red、broken、low |
| 版本 |
迭代版本号 |
是 |
v01、v02、v03 |
完整示例
# 角色模型
chr_hero_combat_v03.fbx
chr_hero_idle_v02.glb
# 道具模型
prop_iron_sword_v01.obj
prop_wooden_chest_red_v02.glb
# 环境模型
env_castle_wall_v05.glb
env_forest_tree_oak_v03.obj
# 载具模型
veh_sports_car_v04.fbx
# 特效模型
fx_fire_camp_v01.glb
fx_smoke_thick_v02.glb
12.3 资产类型缩写规范
| 缩写 |
英文 |
中文 |
说明 |
chr |
Character |
角色 |
人物、动物等可操控角色 |
prop |
Prop |
道具 |
可交互或装饰性物品 |
env |
Environment |
环境 |
建筑、地形、场景元素 |
veh |
Vehicle |
载具 |
车辆、飞行器、船只 |
wpn |
Weapon |
武器 |
枪械、近战武器 |
fx |
Effect |
特效 |
粒子、体积雾等 |
mat |
Material |
材质 |
材质预设文件 |
tex |
Texture |
纹理 |
贴图文件 |
ani |
Animation |
动画 |
动画片段 |
rig |
Rig |
骨骼绑定 |
绑定文件 |
snd |
Sound |
音效 |
音频文件 |
ui |
UI |
界面 |
UI 相关资源 |
12.4 纹理贴图命名规范
命名公式
{资产名称}_{贴图类型}_{分辨率}.{扩展名}
PBR 贴图类型缩写
| 缩写 |
全称 |
中文 |
说明 |
diff |
Diffuse / Albedo |
漫反射/反照率 |
基础颜色贴图 |
nor |
Normal Map |
法线贴图 |
表面凹凸细节 |
rough |
Roughness |
粗糙度 |
表面光滑程度 |
metal |
Metallic |
金属度 |
金属/非金属属性 |
ao |
Ambient Occlusion |
环境光遮蔽 |
间接光照阴影 |
disp |
Displacement |
置换贴图 |
几何体位移 |
emis |
Emissive |
自发光 |
发光效果 |
opacity |
Opacity |
不透明度 |
透明通道 |
gloss |
Glossiness |
光泽度 |
粗糙度的反义 |
spec |
Specular |
高光 |
传统高光贴图 |
纹理命名示例
# 单材质资产
hero_sword_diff_4k.png
hero_sword_nor_4k.png
hero_sword_rough_4k.png
hero_sword_metal_4k.png
hero_sword_ao_4k.png
# 多材质资产(材质名作为中间段)
castle_wall_stone_diff_4k.png
castle_wall_wood_diff_4k.png
castle_wall_metal_diff_4k.png
纹理分辨率标注
| 标注 |
分辨率 |
用途 |
_1k |
1024×1024 |
移动端、远处物体 |
_2k |
2048×2048 |
通用、中等距离 |
_4k |
4096×4096 |
高品质、近景特写 |
_8k |
8192×8192 |
电影级、Hero 资产 |
12.5 各格式文件命名注意事项
| 格式 |
命名注意事项 |
| OBJ |
.obj 和 .mtl 文件名必须一致(如 model.obj + model.mtl),纹理路径在 MTL 中引用 |
| glTF |
.gltf 文件名可自定义,.bin 和纹理文件名在 JSON 内通过 uri 引用 |
| GLB |
单文件,命名自由,建议包含资产描述和版本号 |
| STEP |
通常使用零件号或项目编号命名(如 PART-12345_A.stp),避免中文路径 |
| FBX |
建议包含资产类型和版本号,导出时保持内部节点名称一致 |
12.6 Blender Studio 命名规范参考
Blender Studio 的官方命名公式:
{show_prefix:可选}-{type}-{name}.{variant:可选}-{task}-v{version:可选}_{version_info:可选}.{扩展名}
资产文件示例:
char-gabby-concept.blend
char-gabby-shading-v001.mp4
char-gabby-rigging.blend
lib-sea_shells-design-v001.kra
任务标识符(Task):
| 标识符 |
阶段 |
reference |
参考资料收集 |
concept |
概念设计 |
design |
设计细化 |
sculpting |
雕塑/高模 |
modeling |
拓扑建模 |
shading |
材质贴图 |
rigging |
骨骼绑定 |
12.7 目录结构规范
project_root/
├── assets/
│ ├── characters/
│ │ ├── chr_hero/
│ │ │ ├── chr_hero_v03.fbx
│ │ │ ├── chr_hero_idle_v02.fbx
│ │ │ └── textures/
│ │ │ ├── chr_hero_diff_4k.png
│ │ │ ├── chr_hero_nor_4k.png
│ │ │ └── chr_hero_rough_4k.png
│ │ └── chr_npc_guard/
│ ├── props/
│ │ ├── prop_sword/
│ │ └── prop_chest/
│ ├── environments/
│ │ ├── env_castle/
│ │ └── env_forest/
│ └── vehicles/
│ └── veh_car/
├── scenes/
│ ├── scene_level_01_v05.glb
│ └── scene_menu_v02.glb
└── export/
└── glb/ # 最终交付的 GLB 文件
13. 补充说明
13.1 格式名称官方写法
在技术文档、代码和正式交流中,各格式名称有官方规定的大小写写法:
| 格式 |
官方写法 |
说明 |
| glTF |
glTF(小写 g,大写 T、F) |
Khronos 官方规范写法,代表 “GL Transmission Format” |
| GLB |
GLB(全大写) |
glTF 的二进制封装格式 |
| OBJ |
OBJ(全大写) |
Wavefront OBJ 格式 |
| MTL |
MTL(全大写) |
OBJ 配套材质格式 |
| STEP |
STEP(全大写) |
ISO 10303 标准 |
| FBX |
FBX(全大写) |
Autodesk Filmbox 格式 |
| STL |
STL(全大写) |
光固化打印格式 |
| USD |
USD(全大写) |
Pixar Universal Scene Description |
| USDZ |
USDZ(全大写) |
Apple 的 USD 压缩封装 |
常见错误:GLTF(全大写)、gltf(全小写)、glft(拼写错误)均不规范,应统一使用 glTF。
13.2 格式版本演进
| 格式 |
当前版本 |
发布/维护方 |
版本演进要点 |
| glTF |
2.0 |
Khronos Group |
1.0(2015)→ 2.0(2017),2.0 新增 PBR 金属-粗糙度工作流、骨骼蒙皮、形态目标 |
| GLB |
2.0 |
Khronos Group |
与 glTF 同版本,是 glTF 2.0 规范的二进制容器部分 |
| OBJ |
无正式版本号 |
Wavefront / 社区 |
1990 年代诞生,无标准化组织维护,属事实标准 |
| STEP |
AP242 Ed.3 |
ISO |
AP203(通用)→ AP214(汽车)→ AP242(综合,支持 PMI) |
| FBX |
2024+ |
Autodesk |
2005 被 Autodesk 收购,持续更新但二进制格式不透明 |
| USD |
24.x |
Pixar |
2019 开源,快速迭代,已成为影视和大型游戏引擎的新标准 |
| STL |
无正式版本 |
3D Systems |
1987 年诞生,仅有 ASCII 和 Binary 两种变体 |
13.3 格式转换工具
| 工具 |
支持的转换 |
特点 |
| Blender(免费开源) |
OBJ ↔ glTF ↔ FBX ↔ STL 等 |
最通用的免费转换工具,支持几乎所有格式互导 |
| FBX SDK(Autodesk) |
FBX → glTF / OBJ / COLLADA |
官方 SDK,FBX 导出的首选 |
| CAD Exchanger |
STEP ↔ glTF / OBJ / FBX / USD 等 |
工业级 CAD 格式转换,支持 AP203/214/242 |
| gltf-pipeline(npm) |
glTF ↔ GLB、Draco 压缩 |
命令行工具,适合 CI/CD 自动化 |
| NVIDIA Omniverse |
USD ↔ FBX ↔ glTF 等 |
企业级 3D 协作平台,USD 为原生格式 |
| CloudConvert(在线) |
多格式互转 |
在线工具,无需安装,适合临时转换 |
| Assimp(开源库) |
OBJ / glTF / FBX / STL 等 40+ 格式 |
开源 C++ 库,可集成到自定义工具链 |
常用转换命令示例
npx gltf-pipeline -i model.gltf -o model.glb
npx gltf-pipeline -i model.glb -o model.gltf
npx gltf-pipeline -i model.glb -o model_compressed.glb --draco.compressionLevel 7
blender --background --python-expr "
import bpy
bpy.ops.import_scene.fbx(filepath='model.fbx')
bpy.ops.export_scene.gltf(filepath='model.glb', export_format='GLB')
"
13.4 新兴格式趋势
USD(Universal Scene Description)
| 特性 |
说明 |
| 发布方 |
Pixar,2019 年开源 |
| 定位 |
面向大型影视、游戏、工业场景的组合式场景描述格式 |
| 核心优势 |
非破坏式引用、图层系统、延迟加载、支持超大规模场景 |
| 采用者 |
NVIDIA Omniverse、Unity、Unreal Engine、Apple Vision Pro |
| 与 glTF 关系 |
USD 适合场景编排和管线管理,glTF 适合实时渲染交付,两者互补 |
USDZ
| 特性 |
说明 |
| 发布方 |
Apple |
| 定位 |
USD 的压缩封装格式,Apple 生态的 AR 内容标准 |
| 应用场景 |
iOS AR Quick Look、macOS 预览、visionOS 空间计算 |
| 与 GLB 关系 |
Apple 平台优先支持 USDZ,Web 端优先支持 GLB |
3MF(3D Manufacturing Format)
| 特性 |
说明 |
| 发布方 |
3MF 联盟(Microsoft、HP、Autodesk 等) |
| 定位 |
新一代 3D 打印文件格式,旨在取代 STL |
| 核心优势 |
支持材质、颜色、纹理、多材料打印、网格结构元数据 |
| 与 STL 关系 |
向下兼容 STL 的三角网格,但增加了丰富的制造信息 |
13.5 格式选择未来趋势
2024-2026 趋势判断:
│
├── Web / 移动端 / AR
│ └── GLB 仍是首选(生态最成熟)
│ └── USDZ 在 Apple 生态持续增长
│
├── 游戏 / 实时渲染
│ └── FBX → USD 迁移趋势明显(UE5 原生支持 USD)
│ └── GLB 作为轻量级资产格式持续普及
│
├── 影视 / 大型场景
│ └── USD 正在成为行业标准(Pixar + NVIDIA 推动)
│
├── 工程 / 制造
│ └── STEP AP242 持续增强(PMI + MBD)
│ └── 3MF 在 3D 打印领域逐步替代 STL
│
└── 元数据 / 互操作性
└── glTF 扩展生态持续增长(灯光、物理、场景描述)
└── MaterialX 成为材质互操作的新标准
13.6 各格式 MIME 类型与魔法字节
| 格式 |
MIME 类型 |
文件头标识(Hex) |
| glTF |
model/gltf+json |
以 { 开头(JSON) |
| GLB |
model/gltf-binary |
46546C67(ASCII: glTF) |
| OBJ |
text/plain 或 application/octet-stream |
以 # 或 v 开头 |
| STEP |
application/step |
49534F2D(ASCII: ISO-) |
| FBX |
application/octet-stream |
4B696E64617474(ASCII: Kaydara)或 FBX |
| STL |
application/sla |
736F6C6964(ASCII: solid) |
所有评论(0)