我正在开始使用 XNA和 Blender我正在努力寻找有关游戏开发中使用的各种 3D 文件格式的优质、最新信息。
显然,许多游戏都是使用多种自定义 3D 文件格式开发的,但我有兴趣使用更普遍支持的格式来选择一个好的解决方案。
最流行的格式是什么以及它们有何区别?
注意理想情况下,它们应该支持动画,但我也对可用于构建 map 或静态对象的其他格式感兴趣。
最佳答案
在 XNA 中,尝试自己做任何事情(特别是加载数据格式)的惩罚比忍受现成支持的缺陷要高得多,至少文档是这样的,我也是这样的。我听说有人大大改变了内容管道以支持他所需要的(运行时几何生成),并且我相信他知道他在做什么。所以我想 .X 和 .FBX 就差不多了。它们都支持骨骼动画,我认为也支持顶点变形。我不太确定 Blender 能够将哪些功能导出到其中,但如果您愿意,我可以研究一下。
Blender 2.5 最终将拥有良好的 Collada 支持(当前版本没有骨架,并且在很多方面都被破坏),并且 Autodesk 为 Collada <-> FBX 转换提供了一个很好的工具。
如果您环顾爱好开发社区,您会发现 Id 软件数据格式非常流行。一方面是MD2和MD3顶点变形角色动画格式,MD5骨骼动画格式,其需求显然已涵盖上述内容,另一方面是描述游戏关卡的BSP文件格式。
BSP 的一个特点是有一个好的编辑器(GTKRadiant 和衍生品)。这是一种有效的格式,可以剔除隐藏的几何图形。然而,在 XNA 中构建自定义几何体的运行时成本非常高,并且这些格式的限制在整个游戏关卡中的 64k 顶点和 64k 多边形上相当适中,现在您可以将其转储到显卡上,而无需性能下降将会很明显。因此,您不会从直接支持它中获得任何好处。
我怀疑是否有任何强大的、现代的、可用的格式和工具用于剔除优化的关卡设计,其性能优势将转化为 XNA。
如果您还没有查看的话,您可能想查看一些链接:
3D World Studio content pipeline
全部未维护且过时,不知道如何优化。
关于游戏的 3D 文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1174982/