摘要

FBX(Filmbox)是一种专有的3D交换文件格式和技术,用于在数字内容创建(DCC)工具、视觉特效系统和下游流程之间移动场景和动画数据。FBX 文件使用文件扩展名,可以存储为二进制或 ASCII 编码,但通常保存为二进制格式。[1] FBX 可以存储摄像机、灯光、网格、NURBS(非均匀有理 B 样条)及其他场景元素,但该格式本身未被文档化,通常通过 FBX SDK 处理。[1][2].fbx


3D模型查看与格式转换教程配图


识别与范围(“FBX”在生产中的含义)

在制作环境中,“FBX”通常既指文件格式,也指Autodesk FBX技术作为完整场景描述或部分资产切换的交换层(例如,角色绑定和动画包与单一静态网格的区别)。[1] 交换内容的范围通常用流水线术语描述,如场景图、节点层级、骨架、蒙皮、混合形状(变形目标)、关键帧、摄像机和灯光,且具体覆盖取决于导出/导入实现,而非公开标准。[2].fbx

Autodesk 对 FBX 的描述强调,FBX 文件可以在单一容器下存储多种 3D 场景元素类型,包括用于布局和动画工作流程的几何体和非几何体元素。[1] 实际上,FBX在Autodesk 3D交换和第三方插件的背景下广泛讨论,也常与转换器和查看器工具配合使用,用于检查、降级目标或批量处理,以实现一致的交换。

  • FBX中常见的数据类别:
  • 摄像头。[1]
  • 灯光。
  • 网格。
  • NURBS。
  • 其他3D场景元素(如Autodesk文档中所述)。

历史背景

该格式的起源早于Autodesk的管理。根据美国国会图书馆格式描述,1996年前Filmbox 1.0使用名为FLM的文件格式,1996年Kaydara随Filmbox 1.5发布FBX。 随后发生了公司转型,Alias完成了对Kaydara的收购,公布日期为2004年9月26日。Autodesk 随后完成了对 Alias 的收购,公布日期为 2006 年 1 月 10 日,公告中提到了 1.97 亿美元的现金对价。这些收购里程碑常被用作讨论“Kaydara时代”与“Autodesk时代”管理权的参照,包括后来围绕Autodesk以SDK介导的导入/导出方法整合工具。

文件编码——二进制与ASCII

FBX文件通常以二进制形式保存,但也可以保存为ASCII,且两种编码都使用文件扩展名。这种二进制与文本的区分在技术文献中也被描述为两种不同的表示方式:二进制和ASCII。 在工作流程中,ASCII FBX 有时因其文本结构而被视为更易检查,而二进制 FBX 则是典型的交换工件,主要用于大小、性能或功能因素,包括嵌入式媒体支持的限制。

版本标记可以在 ASCII FBX 头中显示,这也是 ASCII 出现在调试和检查语境中的一个原因。Autodesk 的 SDK 文档提供了一个示例 ASCII 头,显示 和 ,说明数字版本标识符可以在文件中直接读取。Autodesk 还声明,只有二进制 FBX 支持嵌入式媒体,这在两种编码之间形成了实用的功能边界。[3]FBXHeaderVersion: 1003FBXVersion: 6000

  1. 当使用 ASCII FBX 时:
    1)调试或检查,其中人类可读的头部和节点文本对此有帮助。
    2) 依赖ASCII作为交换工件的遗留或兼容工作流,即使主要默认是二进制。
    3)导出约束,嵌入媒体不被要求或外部处理,因为嵌入媒体仅支持二进制FBX。

嵌入式媒体与《提取公约》.fbm

FBX 工作流程有时会采用“嵌入媒体”方法将外部资源(通常是纹理)打包到 FBX 容器中,但 Autodesk 文档指出只有二进制 FBX 支持嵌入式媒体。 Autodesk 的 FBX 转换器文档同样指出,如果文件保存为 ASCII 格式,则无法嵌入媒体,这进一步强调了“ASCII FBX 加嵌入纹理”通常无法通过该工具路径获得。 当嵌入媒体存在于二进制FBX文件中时,Autodesk的FBX SDK导入器在导入时提取嵌入内容;默认的解压目录惯例使用由FBX文件名衍生的文件夹名(例如,。 因此,即使创作应用程序将行为呈现为单一导入操作,流水线在共享存储中也常常会看到一对和目录。.fbmMyScene.fbm.fbx.fbm

版本控制与兼容性信号

FBX 版本管理通常以嵌入文件中的数字标识符和 SDK 头部中的常量形式出现,而非作为完整文档的公开规范。在Autodesk的ASCII示例中,出现在头部,具体说明了文件中数值版本的存在。 在 C/C++ SDK 的头部中,版本常量包括 ,同一头部文档还包含了引用版本 6000、版本 6100、版本 7000 和 版本 7099 的版本说明。 由于应用通常依赖SDK驱动的读写,这些数值信号常被视为兼容性线索,而非独立的“规范合规”保证,版本不匹配常被描述为跨应用交换中的导入/导出风险,当导出器针对不同代读卡器时。FBXVersion: 6000FBX_FILE_VERSION_6000 6000

版本选择也通过Autodesk FBX转换器中显示的“FBX年限”目标来表示。转换器文档中列出了目标FBX版本为FBX 2013(默认)、2012、2011、2010、2009和2006,并且还说明了转换为之前FBX版本作为支持的功能。 这种基于年份的标签常在操作层面用于将交付与已知的工具链预期对齐,即使文件内部带有数字 FBXVersion 标记。

版本词汇表(数字与年份标注):

  • Numeric marker (in-file / SDK constant):例如,6000FBX_FILE_VERSION_6000 6000
  • 年度目标(转换器界面/工作流程标签):例如“FBX 2013(默认)”和FBX转换器中的早期选项。


3D模型查看与格式转换教程配图