Wavefront .obj 文件的规格是啥?

Posted

技术标签:

【中文标题】Wavefront .obj 文件的规格是啥?【英文标题】:What are the specifications for a Wavefront .obj file?Wavefront .obj 文件的规格是什么? 【发布时间】:2012-07-14 20:17:43 【问题描述】:

我想为 Blender 的 .obj 文件编写一个解析器。文件格式似乎不言自明,但似乎也缺少一些数据。例如,一个简单的立方体(默认的 Blender 立方体)有 8 行顶点,但我期望看到 36 行(12 个三角形组成一个立方体)。

我认为,至少对我而言,这种困惑源于在 direct3d 中创建立方体的方式。 Direct3d 需要 36 个顶点来形成一个立方体。所以我认为我需要推断其他 28 个顶点。当尝试解析更复杂形状的顶点时,这种类型的猜测可能会导致问题。所以,我想如果我能找到有关文件格式的官方规范,它可能会为我提供一些关于如何解释数据的见解。

之前好像有人问过同样的问题:How to get proper number of vertices in OBJ file from DCC tools such as Blender for use in OpenGL ES? 但它对我没有任何有用的信息。

【问题讨论】:

Here's a basic explanation。有 8 个顶点,但是您可以在文件中找到指定哪些顶点构成面的 face 数据(f 行)。 请注意,如果您正在编写阅读器,则搅拌机 OBJ 文件与其他 OBJ 文件在任何重要方面都没有不同(没有特殊的搅拌机专用数据) - 您只需查找文档支持波前 OBJ 规范。 嗨! @James您完成解析器了吗?它是开源的吗?我也在寻找好的 .obj 规范。我现在也在解析器上工作。 【参考方案1】:

OBJ Spec

MTL Spec(你可能在某些时候也想要这个)

仅供参考 OBJ 与 Blender 没有任何关系,它只是简单模型的常用文件格式。

【讨论】:

以上是关于Wavefront .obj 文件的规格是啥?的主要内容,如果未能解决你的问题,请参考以下文章

obj是啥意思?

obj是啥格式的文件

obj是啥文件?obj文件怎么打开

WaveFront .obj 加载器未按应有的方式显示对象(VBO 和 VAO)

在 Visual Studio 2017 中使用 3D Wavefront OBJ / STL

Wavefront OBJ File Format Summary