2012-07-15 17 views
17

Quiero escribir un analizador para el archivo .obj de Blender. El formato del archivo parece explicarse por sí mismo, pero también parece que le faltan algunos datos. Por ejemplo, un cubo simple (el cubo Blender predeterminado) tiene 8 líneas de vértices, pero esperaba ver 36 líneas (12 triángulos para formar un cubo).¿Cuáles son las especificaciones para un archivo .obj de Wavefront?

Creo que la confusión, en mi opinión, se debe a la forma en que se crean los cubos en direct3d. Direct3d requiere 36 vértices para formar un cubo. Así que estoy pensando que necesito inferir los otros 28 vértices. Este tipo de adivinanzas podría causar problemas más adelante al intentar analizar los vértices para formas más complejas. Entonces, pensé que si podía encontrar las especificaciones oficiales en el formato de archivo, podría proporcionarme una idea de cómo interpretar los datos.

Parece que otra persona había hecho la misma pregunta antes: How to get proper number of vertices in OBJ file from DCC tools such as Blender for use in OpenGL ES? pero no tenía ninguna información útil para mí.

+0

[Aquí hay una explicación básica] (http://jamwaffles.co.uk/tutorials/opengl/wavefrontloader/fileexplanation). Hay 8 vértices, sin embargo, tienes _face_ data ('f' lines) abajo del archivo que especifica qué vértices forman una cara. – Bojangles

+1

Solo una nota para decir que los archivos OBJ de mezcladores no son diferentes de otros archivos OBJ (sin datos especiales solo de mezclador), si está escribiendo un lector, puede buscar documentos para soportar la especificación OBJ de frente de onda. – ideasman42

+0

¡Hola! @James ¿Terminaste tu analizador? ¿Es de código abierto? Estaba buscando una buena especificación _.obj_ también. También trabajo en el analizador ahora. – im7mortal

Respuesta

19

OBJ Spec

MTL Spec (es probable que desee esto también en algún momento)

FYI OBJ no es de ninguna manera relacionada con Blender, es sólo un formato de archivo común para los modelos simples.

Cuestiones relacionadas