3D 文件格式的江湖纷争
00 分钟
2023-9-22
2024-2-11
category
AI summary
tags
password
summary
date
icon
status
字数统计
type
slug
orgsrc
URL
“HTML brought us the first wave of the internet. OpenUSD might bring us the next.” - Guido Quaroni
自从上世纪 60 年代计算机辅助设计(Computer Aided Design, CAD)发明已来,3D 图形产业繁荣发展,逐步覆盖工业制造、影视游戏、VR/AR 、3D 打印等各个领域。如果说 3D 模型是构成 XR 应用场景的基础组件,那么 3D 文件格式就是构建 XR 世界沟通语言。而伴随各种 3D 建模软件、工具,诞生了种类繁多的 3D 文件格式:
各种 3D 文件格式
各种 3D 文件格式
这些文件格式有的是专为特殊应用场景而设计的,有的因为软件生态的市场份额而称霸一时,有的则逐渐被继任者所替代,本文就来细数一下历来 3D 文件格式的江湖纷争,并讨论以 Apple 为首的五大行业巨头共同推出的 OpenUSD 是否会一统江湖?
OpenUSD 联盟创始成员
OpenUSD 联盟创始成员

3D 文件格式的属性分类

3D 文件的基本功能是以计算机能够理解的格式(纯文本或二进制数据)存储三维模型的信息,这些格式分为两类:
  • 专有文件,例如 AutoCAD 的 DWG 文件或 Blender 的 BLEND 文件。这些文件是专为特定软件创建的,因为它们经过优化,可以使设计过程更加快速流畅,但缺点是无法跨平台使用;
  • 中性文件格式(Neutral File Format),这类文件格式设计的出发点是跨平台和互操作性(Interoperability),强调文件可以跨不同的操作系统、应用程序和设备使用,例如由开放行业协会 Khronos Group 推出的 glTF 格式。
3D 文件格式对比
3D 文件格式对比

几何模型(IGES,STEP,STL)

早期的 3D 模型主要应用于制造业、军工等领域,因此 3D 文件只需要包含模型表面几何数据,如 Autodesk 在上世纪 80 年代最早推出的 IGES 文件格式,它定义了一种通用的几何实体表示法,如线、圆弧、曲面等,在 80 年代至 90 年代初期被广泛使用,是当时事实上的CAD行业标准。后来被更为先进的 STEP(ISO 10303)标准所取代,后者包含了丰富和精确的产品模型数据,如几何形状、拓扑、公差等,直到现在仍被广泛应用于航空航天、汽车、船舶等制造业。
上世纪 80 年代最早研发和商业化 3D 打印技术的公司 3D Systems 开发了 STL 文件格式,成为3D打印的事实标准,一直持续到现在。STL 以三角形网格来表示 3D 模型的表面形状:
不同网格数的 STL 模型文件
不同网格数的 STL 模型文件

纹理贴图(OBJ)

同样是在 80 年代(1979)由 Wavefront 公司开发的 OBJ 文件格式,简单的几何形状(如三角形、四边形或更复杂的多边形)对 3D 模型的表面进行细分(平铺)。与 STL 相比,多边形更接近原始几何图形,但仍无法准确描绘原始几何图形。尽管如此,OBJ 文件在使用与 STL 文件相同的面数的情况下,可以更准确地表征模型。
OBJ 文件格式可以更准确地编码 3D 模型
OBJ 文件格式可以更准确地编码 3D 模型
 不同模型的精度和细节对比
不同模型的精度和细节对比
在 90 年代 Wavefront 为 OBJ 文件格式开发了辅助的纹理贴图文件格式(Material Template Library, MTL),OBJ 文件可以引用一个或多个 MTL 文件(称为 "材质库"),并通过名称引用一个或多个材质描述。
3D 模型的纹理贴图
3D 模型的纹理贴图

场景 & 动画(DAE,FBX)

2004 年 Khronos Group 发起和定制了带有骨骼和动画 3D 场景和角色的 Collaborative Design Activity,简称 COLLADA 或 DAE 文件。Collada文件格式是最早支持可交换骨骼动画的3D文件格式,对行业发展带来重要影响。
 骨骼动画
骨骼动画
Autodesk 公司为了保证自家软件(Maya、3ds Max等)对 3D 动画文件的兼容性,推出与 DAE 竞争的 FBX 格式,借助 Autodesk 软件市场主导地位的强力推广,FBX 很快称为动画制作中最常用的格式之一。此外,它还被用作一种交换格式,便于在 3ds Max、Maya、MotionBuilder、Mudbox 和其他专有软件之间进行高保真交换。
FBX 文件对视频游戏设计非常有用(Unity)
FBX 文件对视频游戏设计非常有用(Unity)
但需要注意的是,FBX 格式是一种专有文件格式,虽然可以通过与该文件格式兼容的软件开发工具包(SDK)进行读写,但在本质上 Autodesk 对这一文件格式拥有最终解释权

开源竞争(glTF vs USD)

Khronos Group 在 DAE 格式不断被打压的情况下,推出了更加轻量、更加便于 Web 传播的格式——glTF(其二进制格式为 glb),Khronos 对它的定位是 3D 中的 JPEG 格式:
3D 中的 JPEG
3D 中的 JPEG
围绕 glTF 建立起了丰富的生态(但这张图其实适用于大部分具有可互操作性的中性文件格式):
notion image
虽然 Khronos Group 是一个「开放」标准联盟,但其背后掌握话语权的实际上是微软谷歌Meta 等巨头公司, 而苹果公司与 Khronos 向来不合(甚至存在法律纠纷)。于是在 2018 年的开发者大会(WWDC 2018)上,苹果宣布正在与皮克斯合作,为 AR (同时推出的还有 ARKit 2.0)创作提供一个叫做 USDZ 的新文件格式。(想要了解乔布斯与皮克斯的渊源,推荐这本由皮克斯创业元勋、乔布斯钦点副总裁劳伦斯·利维写的《孵化皮克斯》)
《孵化皮克斯》
《孵化皮克斯》
USDZ 格式辅佐着苹果的增强现实技术(ARKit 、RealityKit、AR Quick Look)不断迭代更新,一直来到 2023 年推出 Apple Vision Pro ,同年苹果联合皮克斯动画工作室AdobeAutodesk NVIDIA,共同推出了 OpenUSD 联盟(Alliance for OpenUSD,AOUSD)。
在 AOUSD 的愿景中,Adobe 高级工程总监 Guido Quaroni 将 OpenUSD 比作是 3D 内容创作者的 PDF,对于 AR/VR 所承载的未来科技(苹果定义的空间计算),OpenUSD 将成为标准语言:
HTML brought us the first wave of the internet. OpenUSD might bring us the next.
HTML 为我们带来了第一波互联网浪潮。OpenUSD 可能会给我们带来下一波浪潮。

苹果:从「封闭生态」到「开源垄断」?

在上一篇文章中我们讨论了苹果一改其「封闭生态」策略,开始主动参与并积极推动 WebXR 、 WebGPU 等开源标准,一切服务于加速推进 Apple Vision Pro 空间计算的内容生态:
而到了 3D 文件格式这里,苹果干脆自立门户,依靠其无与伦比的号召力,将整个 3D 行业每一个环节最具影响力的巨头聚合在一起,成立开放联盟,OpenUSD 毋庸置疑将会成为 3D 图形世界最具影响力的文件格式。
苹果以近似于「开源垄断」的策略明牌入局,也许无法做到一统江湖,但至少为 3D 内容创作铺平了道路:在苹果未来空间计算愿景中,OpenUSD 一定是首选的标准语言
这段放在 AOUSD 官网首页的寄语,颇有一点「杀人诛心」🙂
这段放在 AOUSD 官网首页的寄语,颇有一点「杀人诛心」🙂

参考