16

我开始使用XNABlender,并试图找到关于游戏开发中使用的各种 3D 文件格式的高质量、最新信息。

显然,许多游戏都是使用多种自定义 3D 文件格式开发的,但我有兴趣选择一个使用更普遍支持的格式的好的解决方案。

最流行的格式是什么,它们的区别是什么?

注意理想情况下,它们应该支持动画,但我也对可能用于构建地图或静态对象的其他格式感兴趣。

4

9 回答 9

10

在 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 内容管道

地震港口

所有未维护且已过时,不知道优化与否。

于 2009-11-13T12:04:34.977 回答
6

如果您使用的是 XNA,那么最好的选择可能是 FBX。我这么说的主要原因是它是XNA在内容创建管道中本机支持的单一的、非 XNA 特定的格式。

于 2009-07-23T23:57:11.050 回答
6

已经提到的 COLLADA 和 FBX 是唯一在游戏行业中获得重大采用的标准格式。不过,很少有游戏会直接加载它们——它们通常用作从 DCC 应用程序导出的中间格式,然后进一步处理成更优化的运行时格式,这些格式通常是自定义和引擎特定的。

爱好者开发者经常使用流行游戏的文件格式作为起点。Quake 3 模型和地图格式在一段时间内非常流行。Microsoft 的 .X 格式在爱好者项目中也很受欢迎,因为有许多导出器的可用性和 D3DX 框架中的加载支持。

于 2009-07-24T00:21:41.210 回答
5

您可能想看看 COLLADA,它是 3D 游戏开发中广泛使用的标准:

http://en.wikipedia.org/wiki/COLLADA

于 2009-07-23T23:09:54.047 回答
3

我选择了 MS3D 格式,因为它的规范简单、有意义、确实有动画和装配(关节),并且有文档记录。

另请参阅我之前的问题,与此问题非常相似,以及我写给它的答案(奇怪的是,它似乎在页面底部):

[已解决] 游戏内角色模型推荐的 3D 模型类型,手动加载?

于 2009-07-24T13:50:48.903 回答
2

看看glTF可能是值得的。

还有一个 glTF 2.0 版本正在开发中,它增加了基于物理的渲染支持。Khronos 网站上的草稿。

Assimp 对它有“部分”支持。不确定缺少什么。

github上还有一堆用于不同语言(C++、WebGL/JS、Rust、Go)的加载器。

还有一个 COLLADA 到 gltf 转换器。

它使用 JSON 文件作为一种清单,然后将数据加载到其他文件中,例如用于二进制的 .bin、各种图像和用于着色器的 glsl。虽然有一个二进制扩展

当然,由于它是新的(并且仍在开发中)支持不会那么好。上次我看 COLLADA 的时候也很受欢迎。

还有声明式 3D

请参阅涵盖两者的本文

这两种格式都有一点网络焦点,但对游戏也应该没问题。

于 2015-03-17T05:35:50.873 回答
0

不是专家(远非专家,只是玩弄)。

我猜想 3d studio max 格式 (.3ds) 和 renderman RIB 文件都用得挺多。我也喜欢AC3D文件格式(它是纯文本)。

于 2009-07-24T00:20:29.930 回答
0

多年来,DirectX 文件格式(.x 扩展名)非常流行,Blender 包含一个内置的导出器。

于 2009-07-24T00:22:43.533 回答
0

PMD 文件。它们用于 MMD 动画等等!只需在 Deviantart.com 上搜索“MMD 模型”之类的内容

PMD 和 PMX 和 OBJ

于 2013-05-26T01:02:32.213 回答