什么是FBX文件格式?
什么是 FBX 文件格式,是您需要的文件类型吗?继续阅读以了解它是什么,更重要的是,何时应该使用它。快速概览
Autodesk FBX 文件格式是一种流行的 3D 数据交换格式,用于 3D 编辑器和游戏引擎之间。它最初是作为 Kaydara 的 Filmbox 动作捕捉工具的原生文件格式创建的。FBX 格式名称和扩展名源自该应用程序名称Film B o x 。2005 年,Kaydara 为原本封闭和专有的 FBX 文件格式发布了一个公共 SDK,并参与了一项协调一致的公关活动,以鼓励采用 FBX 文件格式在不同工具之间进行高质量的 3D 数据交换。Fi
lmbox 最终更名为 MotionBuilder,后来被 Autodesk 收购。
替代流行的 3D 模型和场景文件格式是 Wavefront OBJ 3D格式和 Khronos Group glTF 3D格式。
您应该使用 FBX 3D 文件格式吗?这取决于您使用它的目的。
优点
广泛的功能支持
FBX 格式是支持其格式中的各种数据的黄金标准。FBX 支持 3D 模型、场景层次、材质照明、动画、骨骼、蒙皮和混合形状。FBX 作为一种较旧的格式,还支持目前尚未广泛使用的数据,例如 NURBS 曲面和曲线。当您选择 FBX 作为您的交换格式时,您知道当涉及到与几何相关的属性时,它很可能代表您需要的数据。
独立的位置、UV 和法线拓扑
OBJ 3D模型格式也共享 FBX 文件格式的优势在于,它可以存储具有不同拓扑的位置、UV 和法线数据。这对于高质量的建模工具非常有用,并且可以实现精确的细分曲面等复杂功能。然而,它确实使将这些模型加载到游戏引擎中变得有点困难,因为需要对数据进行预处理以统一所有拓扑。
快速高效
FBX 文件格式,因为它使用二进制格式,既快速又高效。这是因为当将数据存储为二进制时,写入和读取它的速度更快,而基于文本的格式必须将二进制数据与人类可读的数字相互转换。FBX 文件格式在空间方面也很有效,因为数字的二进制表示占用的空间比人类可读的数字要少。如果您需要直接读取和写入二进制文件,它们通常会很复杂,但是 FBX SDK 对 FBX SDK 的用户完全隐藏了这一点。
强大的SDK
如果您是使用 SDK 支持的语言的开发人员,将 FBX 文件格式集成到您的应用程序中是非常强大和方便的。添加 FBX 导入和导出的过程是一个相对简单直接的过程,包括链接 SDK,然后使用其 API 将数据流进出。文件格式的所有复杂性都对集成 SDK 的软件开发人员隐藏。如果 SDK 支持所有 FBX 功能,您无需担心,因为它是官方且唯一的 FBX SDK。
良好的兼容性
部分因为 SDK 确保它可以读取所有以前版本的 FBX 文件格式,它确保大多数现代版本的工具可以正确读取其他工具生成的 FBX 文件。即使 FBX 文件格式发生变化,SDK 也可以确保它可以通过对 SDK 用户透明的不同代码路径读取旧格式和新格式。因此,FBX 并没有充斥着困扰类似复杂格式(如 COLLADA (.dae))的兼容性问题。如果 FBX 正确支持某个功能,它可以在应用程序之间传输该数据而无需担心。
因此,FBX 可用于在http://Clara.io、3DS Max、Maya、Unity 3D 和 Unreal Engine 之间轻松传输复杂的 3D 场景数据。
缺点
封闭式
FBX 格式的最大缺点是它是一种封闭格式。访问 FBX 文件中数据的唯一官方方法是使用官方 SDK。如果您想在 FBX SDK 未正式支持的系统上加载 FBX(例如在 Web 浏览器或开源应用程序中),您不能这样做。(尽管最近,经过几年的努力,Blender 已经成功地对大多数当前版本的 FBX 格式进行了逆向工程。)
因为它是一种封闭格式,所以除了它的所有者 Autodesk 之外,任何人都不可能发展这种格式。它的所有者最近没有对 FBX 文件格式进行太多更改,因此它有些停滞不前。
广泛的功能支持
虽然这已在优点中列出,但它也可以作为缺点。FBX 广泛数据支持的问题在于,它的许多支持数据类型都是遗留的,不再经常使用。除了其过时的材质和照明模型(如下所述),FBX 还支持 NURBS 曲面和曲线。这些支持非常复杂,因为它们需要完整的 CAD 内核才能成为 FBX SDK 的一部分,但它们很少用于当今的游戏和媒体和娱乐的 3D 编辑器中。NURBS 支持等遗留功能极大地增加了 FBX 文件格式的复杂性,使其难以维护且成本高昂,而且其 SDK 非常庞大,难以集成到手机游戏或其他大小受限的应用程序中。
传统材质
FBX 文件格式使用以 Blinn-Phong 规格光泽模型为前提的 1990 年代光照模型,以及每个材质属性的单一颜色或纹理。虽然这对于极简材质表示已经足够,但它并不能反映现代 3D 编辑器或游戏引擎的功能,这些编辑器或游戏引擎利用复杂的着色器网络与以粗糙度-金属度为中心的基于物理的渲染材质模型相一致。简单的 FBX 材质也不支持次表面散射、适当的分层材料或各向异性效果。由于 FBX 材质模型的严格限制,3D 模型上的大多数材质在通过 FBX 格式在工具之间传输后必须重做。
灯光照明
FBX 中的光照模型也使用 1990 年代的惯例。博维数孪等现代可视化和工具使用基于物理的光照模型,其中所有光照参数都基于物理量,例如流明、亮度和基于物理的衰减。现代游戏引擎希望传输全局光照信息,例如光照探针和基于图像的光照,但 FBX 不支持这一点。FBX 使用更具历史性和任意性的光照模型,这使得使用更现代的工具之间难以通信和基于物理的方法。与材质一样,使用 FBX 文件格式传输的大多数照明信息必须在导入其目标应用程序后进行修复或简单地重做。
概括
如果您想在当前流行的 3D 编辑器(如 Maya、http://Clara.io 和 3DS Max)与 3D 体验引擎(如 Unity、Unreal Engine)之间传输数据,则应使用 FBX 文件格式。这主要是文件格式的设计目的。
如果您的目标平台支持更现代的格式,例如 glTF,使用 glTF 而不是 FBX 将节省您的时间,因为它可以更好地传输材质属性。
如果您想使用一种格式快速实时传输到客户端应用程序,尤其是对于 AR 应用程序,FBX 可能比 glTF 等传输优化格式慢。
http://Clara.io 支持轻松导入和导出 FBX、glTF 和 OBJ 文件。
<hr/>博维数孪(http://bowell.com)提供产品可视化软件,可创建 逼真的图像、 交互式 3D产品配置器和数字孪生体验,帮助企业销售更多产品。要了解更多信息,请联系我们 安排演示。
页:
[1]