【科普文】市面上各种3D文件格式的区别

2024-08-16 11:21:08
0
24

自从上世纪 60 年代计算机辅助设计(Computer Aided Design, CAD)发明已来,3D 图形产业繁荣发展,逐步覆盖工业制造、影视游戏、VR/AR 、3D 打印等各个领域。如果说 3D 模型是构成 XR 应用场景的基础组件,那么 3D 文件格式就是构建 XR 世界**沟通语言。**而伴随各种 3D 建模软件、工具,诞生了种类繁多的 3D 文件格式:


各种 3D 文件格式


这些文件格式有的是专为特殊应用场景而设计的,有的因为软件生态的市场份额而称霸一时,有的则逐渐被继任者所替代,本文就来细数一下历来 3D 文件格式的江湖纷争,并讨论以 Apple 为首的五大行业巨头共同推出的 OpenUSD 是否会一统江湖?




OpenUSD 联盟创始成员3D 文件格式的分类


3D 文件的基本功能是以计算机能够理解的格式(纯文本或二进制数据)存储三维模型的信息,这些格式分为两类:

  • 专有文件,例如 AutoCAD 的 DWG 文件或 Blender 的 BLEND 文件。这些文件是专为特定软件创建的,因为它们经过优化,可以使设计过程更加快速流畅,但缺点是无法跨平台使用;
  • 中性文件格式(Neutral File Format),这类文件格式设计的出发点是跨平台和互操作性(Interoperability),强调文件可以跨不同的操作系统、应用程序和设备使用,例如由开放行业协会 Khronos Group 推出的 glTF 格式。


下图是部分主流 3D 文件格式的对比:



3D 文件格式对比I. 几何模型(IGES,STEP,STL)



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


上世纪 80 年代最早研发和商业化 3D 打印技术的公司 3D Systems 开发了 STL 文件格式,成为3D打印的事实标准,一直持续到现在。STL 以三角形网格来表示 3D 模型的表面形状:



不同网格数的 STL 模型文件II. 纹理贴图(OBJ)



同样是在 80 年代(1979)由 Wavefront 公司开发的 OBJ 文件格式,简单的几何形状(如三角形、四边形或更复杂的多边形)对 3D 模型的表面进行细分(平铺)。与 STL 相比,多边形更接近原始几何图形,OBJ 文件在使用与 STL 文件相同的面数的情况下,可以更准确地表征模型。




不同模型的精度和细节对比


到了 90 年代 Wavefront 为 OBJ 文件格式开发了辅助的纹理贴图文件格式(Material Template Library, MTL),OBJ 文件可以引用一个或多个 MTL 文件(称为 "材质库"),并通过名称引用一个或多个材质描述。



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 格式是一种专有文件格式,虽然可以通过与该文件格式兼容的软件开发工具包(SDK)进行读写,但在本质上 Autodesk 对这一文件格式拥有最终解释权


开源竞争(glTF vs USD)


Khronos Group 在 DAE 格式不断被打压的情况下,推出了更加轻量、更加便于 Web 传播的格式——glTF(其二进制格式为 glb),Khronos 对它的定位是 3D 中的 JPEG 格式:






3D 中的 JPEG


围绕 glTF 建立起了丰富的生态(但这张图其实适用于大部分具有可互操作性的中性文件格式):


glTF 生态


虽然 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 空间计算的内容生态:

Unity 收费,苹果 Vision Pro 支持 WebXR | Hack Vision Pro

而到了 3D 文件格式这里,苹果干脆自立门户,动用其无与伦比的号召力,将整个 3D 行业每一个环节最具影响力的巨头聚合在一起,成立开放联盟,OpenUSD 毋庸置疑将会成为 3D 图形世界最具影响力的文件格式。

苹果以近似于「开源垄断」的策略明牌入局,也许无法做到一统江湖,但至少为 3D 内容创作铺平了道路:在苹果未来空间计算愿景中,OpenUSD 一定是首选的标准语言。




这段放在 AOUSD 官网首页的寄语,颇有一点「杀人诛心」


评论
登录 才可参与讨论