微软交流社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 103|回复: 0

gltf和fbx哪个好,我应该使用哪种格式?

[复制链接]

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-9-21 16:11:35 | 显示全部楼层 |阅读模式
FBX 与 glTF:这些 3D 模型文件格式之间有什么区别,哪种最适合您的工作流程?两者都被广泛使用并且可以存储3D模型。但正是它们的差异指导了他们的应用。
如果您将数据传输到 Unity 或 Unreal Engine 等游戏引擎或 http://Clara.io、Maya 或 3DS Max 等 3D 工具之间,FBX 文件格式比glTF更好。如果您想通过 Internet 有效地传输 3D 场景数据以便在远程应用程序中查看,例如用于增强现实的目的,glTF 格式比 FBX 更好。

欧特克 FBX

FBX 文件格式是什么?Autodesk FBX 文件格式是一种流行的 3D 数据交换格式,用于 3D 编辑器和游戏引擎之间。它最初是作为 Kaydara 的 Filmbox 动作捕捉工具的原生文件格式创建的。FBX 格式名称和扩展名源自该应用程序名称Film B o x 。2005 年,Kaydara 为原本封闭和专有的 FBX 文件格式发布了一个公共 SDK,并参与了一项协调一致的公关活动,以鼓励采用 FBX 文件格式在不同工具之间进行高质量的 3D 数据交换。Filmbox 最终更名为 MotionBuilder,后来被 Autodesk 收购。
优点

独立的位置、UV 和法线拓扑

FBX 文件格式的一个优势(也与OBJ 3D模型格式相同)是它能够存储具有不同拓扑的位置、UV 和法线数据。这对于高质量的建模工具非常有用,并且可以实现精确的细分曲面等复杂功能。这使得将这些模型加载到 游戏引擎中变得有点困难,因为需要对数据进行预处理以统一所有拓扑。
强大的SDK

如果您使用的是 SDK 支持的语言,它非常强大且使用方便。导入和导出 FBX 文件的过程是一个相对简单直接的过程,即链接 SDK,然后使用其 API 将数据导入和导出。文件格式的所有复杂性都对集成 SDK 的软件开发人员隐藏。如果 SDK 支持所有 FBX 功能,您无需担心,因为它是官方的且唯一的 FBX SDK。

这与 glTF 和 COLLADA 等主要书面标准形成鲜明对比,后者复杂且相对容易错误实施。这些书面标准很少由不同的团队实施并且仍然完全兼容。

良好的兼容性

因为 SDK 读取所有以前版本的 FBX 文件格式,所以最现代的工具版本可以正确读取其他工具生成的 FBX 文件。即使 FBX 文件格式发生变化,SDK 也可以确保通过对 SDK 用户透明的不同代码路径同时读取旧格式和新格式。因此,FBX 并没有遇到困扰类似复杂格式(如 COLLADA (.dae))的兼容性问题。如果 FBX 正确支持某个功能,它可以在应用程序之间传输该数据而无需担心。
广泛的功能支持

FBX 格式是支持其格式中的各种数据的黄金标准。FBX 支持 3D 模型、场景层次、材质照明、动画、骨骼、蒙皮和混合形状。因为它是一种较旧的格式,FBX 还支持今天不再广泛使用的数据,例如 NURBS 曲面和曲线。当您选择 FBX 作为交换格式时,您就知道它很可能代表您需要的几何数据。
快速高效

FBX 文件格式因为它使用二进制格式,所以效率很高。当您将数据存储为二进制时,写入和读取它的速度更快,而基于文本的格式必须将二进制数据与人类可读的数字相互转换。它在空间方面也很有效,因为数字的二进制表示比人类可读的数字占用更少的空间。如果您需要直接读取和写入二进制格式,它们通常会很复杂,但 FBX SDK 对用户隐藏了这一点。

缺点

封闭式

FBX 格式的最大缺点是它是一种封闭格式。访问 FBX 文件中数据的唯一官方方法是使用官方 SDK。您无法在 FBX SDK 未正式支持的系统上加载 FBX(例如在 Web 浏览器或开源应用程序中)。也就是说,经过几年的努力,Blender 已经成功地对大多数当前版本的 FBX 格式进行了逆向工程。
由于 FBX 是一种封闭格式,因此除了其所有者的 Autodesk 之外,任何人都不可能发展该格式,并且它最近没有进行任何更新。
广泛的功能支持

虽然这在优点中列出,但它也可能是一个缺点。FBX 广泛数据支持的问题在于,它的许多支持数据类型都是遗留的,不再经常使用。除了其过时的材质和照明模型(如下所述),FBX 还支持 NURBS 曲面和曲线。这些支持非常复杂,因为它们需要完整的 CAD 内核才能成为 FBX SDK 的一部分。NURBS 支持等传统功能极大地增加了 FBX 文件格式的复杂性,使其难以维护且成本高昂。它的 SDK 非常庞大,很难集成到手机游戏或其他大小受限的应用程序中。
传统材质

FBX 文件格式使用以 Blinn-Phong 规格光泽模型为前提的 1990 年代光照模型以及每个材质属性的单一颜色或纹理。虽然这对于极简材质表示已经足够,但它并不能反映现代 3D 编辑器或游戏引擎的功能,这些编辑器或游戏引擎利用复杂的着色器网络与以粗糙度-金属度为中心的基于物理的渲染 (PBR) 材质模型相结合。简单的 FBX 材料也不支持次表面散射、适当的分层材料或各向异性效果。由于 FBX 材料模型的严格限制,3D 模型上的大多数材料在通过 FBX 格式在工具之间传输后必须重做。
传统照明

FBX 中的光照模型再次使用 1990 年代的惯例。博维数孪(http://bowell.com)等现代数字孪生和3D工具使用基于物理的光照模型,其中所有光照参数都基于物理量,例如流明、亮度和基于物理的衰减。现代游戏引擎希望传输全局光照信息,例如光照探针和基于图像的光照,但 FBX 不支持这一点。FBX 使用更具历史性和任意性的照明模型,这使得使用更现代和基于物理的方法的工具之间难以进行通信。与材质一样,使用 FBX 文件格式传输的大多数照明信息必须在导入其目标应用程序后进行修复或简单地重做。
关于 glTF

glTF 格式是什么?glTF 格式是一种开放的 3D 模型和场景格式,旨在高效传输丰富的场景 3D 数据。它自 2013 年以来由 The Khronos Group 创建和管理。glTF 是一个首字母缩写词,代表G raphics L语言传输格式。
优点

易于阅读和书写

您可以使用众多开源库之一将 glTF 文件读入您​​的自定义应用程序,也可以自己编写导入器。glTF 格式使用描述 glTF 内容及其属性的 JSON 描述符文件。这很容易被开发人员直接读写,甚至比 OBJ 文件格式更容易,因为 JSON 本身是一种灵活的人类可读的文件格式标准,它在大多数语言中都有可用的解析器。
快速高效

与 FBX 文件格式一样,GL 传输格式 (glTF) 将 3D 几何的主要批量数据存储在二进制文件中。二进制文件的读取由 JSON 描述符文件引导。这意味着与以人类可读文本(如 OBJ 一样)存储大量 3D 几何图形的文件格式相比,glTF 平均小 5 倍,读取速度快 10 倍以上。
游戏引擎的直接读取

在游戏引擎的上下文中,glTF 的读取速度甚至比 FBX 还要快,因为它将其网格数据存储在一个统一的拓扑中。这意味着游戏引擎可以将 glTF 中的数据直接读取到 GPU 内存中,然后在屏幕上渲染生成的图形,而无需对 OBJ 网格数据进行中间处理。
标准组的指导

标准组通常被视为繁琐且笨拙的官僚机构,但在文件格式方面,标准组有多种好处。他们确保文件格式随着技术趋势不断发展,并且各个供应商就如何在各种工具中实现文件格式以确保兼容性达成一致。此外,一个标准小组会编写清晰的规范并发布一致性测试工具,当有分歧时,每个人都可以参考。Khronos 正在做所有这些事情来支持 glTF 的未来发展和采用。
丰富的场景数据

除了模型和材质之外,glTF 文件还能够存储动画数据、骨骼、蒙皮、场景层次以及灯光(通过扩展)。这意味着 glTF 可以用于两个单独的静态模型(如 OBJ ),但它也可以用于动画角色和完整的复杂场景,类似于 FBX 文件。
增强现实

glTF 正在成为将数据流式传输到基于 Web 和基于应用程序的增强现实应用程序的标准。谷歌和 Facebook 已经为此目的使用它。这是因为它快速、高效,并且允许游戏引擎直接读取。因为它是官方标准,所以世界各地的供应商都可以支持写入这种格式。
缺点

不可编辑的 3D 模型

与 FBX 相比,glTF 的最大缺点之一是其 3D 模型数据的存储格式更加简单。它不允许位置、UV 和法线数据的不同拓扑。虽然如果您想要直接读取游戏引擎的速度,这是有益的,但这意味着修改 3D 模型可能非常困难。最好将 glTF 当前的 3D 模型存储格式视为发布 3D 模型以供查看的手段,而不是作为高保真 3D 建模存储角色。如果您想存储 3D 资源以供以后编辑,最好不要使用 glTF。
没有着色器网络

与 FBX 类似,glTF 中当前的材质定义有点简单。它比 FBX 材质定义更现代一点,但几乎没有。它无法与现代 3D 工具(如 Maya、http://Clara.io 和虚幻引擎)中表现的材质复杂性相比。当前以强大但灵活的方法表示材料的最先进方法是通过着色器网络。glTF 不支持着色器网络,因此如果您想编辑它们,它不是材质的最佳文件格式。相反,它是您想要发布模型以供其他人查看时转换的格式。
不向后兼容的扩展

glTF 标准委员会允许对 glTF 格式进行特定于供应商的扩展。这些扩展虽然提供了额外的功能,但目前不保证与不支持这些供应商特定扩展的 glTF 查看器或阅读器的向后兼容性。这意味着每次只有一个供应商采用这些非向后兼容的扩展时,文件格式就会碎片化。随着更多这些供应商特定的扩展出现,用户将更难在供应商工具之间实现 glTF 兼容性。FBX 文件格式不会出现这种类型的碎片。
概括

如果您想要复杂的场景、动画、灯光和分发 3D 模型以在游戏引擎或查看器中使用的效率,请使用 glTF 格式。当您确切知道哪个工具将生成 glTF 文件以及哪个工具将读取 glTF 文件以确保它们完全兼容时,这尤其理想。
如果您希望能够保存和加载之后可以编辑的 3D 模型和场景,请选择 FBX。FBX 保证了工具之间的兼容性,至少对于它支持的功能而言,并且它的数据表示比 glTF 更精确。FBX 不应该成为与开源工具进行通信或喜欢简单性的地方的首选。
<hr/>博维数孪是国内自主研发创新的数字孪生技术与产品方案厂商,专注于系列数字孪生软件产品的研发和数据智能解决方案,其产品特点轻量化、高效零代码,公司研发的Bowell OneCloud云服务及产品配置器与数字孪生创建工具、3D CAD数据共享与协作、3D数字样机与协作、及建筑产品BIM协作深受行业用户的欢迎,在数字孪生领域,部分产品和技术做到了国内甚至世界前沿。
博维数孪研发技术人员占80%以上,本科及研究生以上学历占98%,核心研发团队由数位世界顶尖名校计算机图形学及人工智能专业的博士专家组成;技术服务团队具备超过10年的数字孪生服务经验。数字孪生产品线已服务于国内能工业建筑、政府、大型企业等领域的数百家客户。
随着国家新基建战略的深入,博维数孪步入高速发展期,致力于打造成为国内乃至国际一流的数字孪生软件产品解决方案领导厂商。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|微软交流社区

GMT+8, 2025-1-22 12:54 , Processed in 0.068207 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表