在3D图形领域,格式的多样性和不断更新的标准一直是开发者和设计师面临的挑战。DirectX (.X) 和 Wavefront (.obj) 等格式要么不被支持,要么实现方式各异,但每个人都有自己喜欢的格式。随着时间的推移,标准会不断改进和变化,FBX也不例外。Autodesk(FBX标准的创建者和拥有者)多年来一直在调整和改进这个标准。尽管大多数工具都试图支持尽可能多的选项,但最近一些非常旧的版本开始变得过时,支持也在逐渐减少。
最近在更新一些旧的MonoGame示例和测试时,遇到了这个问题。通常情况下,MonoGame(99.5%的时间)的老XNA示例都能正常工作,只需要构建一个新的MonoGame项目,复制代码和资源,然后就可以运行了。然而,在最近的版本中,他们已经弃用了一些旧的FBX标准,只支持更新的版本。当将一个旧的FBX添加到内容项目中时,会遇到以下错误:
错误信息非常明确:
Error importing file: FBX-DOM unsupported, old format version, supported are only FBX 2011, FBX 2012 and FBX 2013
当使用一个旧的FBX文件,无论是来自示例、3D模型网站,还是一个旧项目,可能会尝试将其作为新复古游戏的资源时,可能会碰到这个错误。
当FBX文件太旧时该怎么办?显然,不想丢弃那个旧的模型(显然它对来说非常珍贵),替换它可能会很昂贵,从头开始制作又需要太长时间(除非它只是一个立方体?)
所以有几个选择可以让摆脱这个困境。
许多3D模型转换网站通常支持大多数3D格式标准,并提供将它们从一种格式转换到另一种格式的方法,比如在线3D转换器。
在线3D转换器 -
他们提供基于Open Asset Import Library的多种格式之间的转换。有一些它不能转换(尤其是MAX和Maya,因为它们太专有),否则列表非常广泛。然后可以将其转换为另一种格式或更新版本的FBX。
现在选项1可能并不总是有效,像其他人一样,他们需要维护他们的库,旧的格式可能只是变得支持起来太费力。幸运的是,对于FBX来说,Autodesk是一个非常友好和慷慨的团体,他们提供了一个非常有用的免费升级工具。
FBX转换器工具实际上可以做的不仅仅是升级FBX文件,它还可以查看它们,剔除不必要的数据(如果想要移除骨骼绑定的动画特别有用),等等。可以在这里找到这个工具:
Autodesk FBX转换器