2008-10-11 16 views
5

Estoy buscando un formato de archivo simple para usar en modelos de estructura metálica. Estoy al tanto de VRML, u3D, etc., pero estos parecen pesados ​​para mis necesidades. Mi criterea es:Formato de malla simple?

  • Debe tener una clara especificación. Bien abierto o muy bien establecido/documentado.
  • Solo necesito (quiero) modelos simples: vértices y bordes. No quiero manejar caras u objetos. Si el formato admite más, está bien siempre que pueda ignorarlos.
  • Las herramientas para usuarios finales no son un requisito, pero serían geniales. Si no, debe ser legible por humanos (y editable para modelos simples).
  • Sería bueno (pero no necesario) poder anotar o al menos etiquetar nodos.
  • No debería importar qué idioma estoy usando, pero las opciones son probables Java/C++ & OpenGL

O solo estoy mejor escritura vértices/listas de borde a un archivo de texto y puede hacer con ella?

Respuesta

3

no sé de cualquier formato que se dirigen activamente vistas de mallas. (Edge/vertex solamente) Casi siempre tendrás que lidiar con las caras por lo menos. La parte afortunada es que a menos que tengas una necesidad muy específica de nada, solo se puede hacer una renderización de wireframe con casi cualquier API de una lista de rostros.

En cuanto al formato, OBJ es bueno y simple, si está un poco desactualizado. También es probable que sea el formato más fácil de encontrar para la documentación. Los archivos X de Microsoft son geniales para una representación rápida y sucia, pero siempre he sido un tanto parcial con los formatos Quake. Sin embargo, tienden a estar muy orientados a los juegos, y como tal incluyen mucha información que probablemente no quieras.

Si ninguno de ellos satisface sus necesidades, tal vez consulte COLLADA. Probablemente no funcione para usted por sí mismo, pero podría escribir un exportador rápido en su propio formato que solo contenga información de borde/vértice, y en ese punto usted esencialmente tiene soporte para cada paquete de modelado en el planeta :)

+0

La única razón para querer bordes pero no rostros es que estoy lidiando con modelos muy simples y pensé que podría ser más fácil. – Draemon

1

Podría ser más fácil hacer esas listas en un archivo de texto. ¡Eso es lo primero que me vino a la mente!

7

Wavefront OBJ es un formato de archivo de texto muy simple para almacenar modelos 3D y es compatible con todas las aplicaciones de modelado 3D (por ejemplo, maya, 3dsmax, lightwave) para que pueda exportar e importar sus modelos muy fácilmente.

Puede leer más y las especificaciones aquí:

http://www.fileformat.info/format/wavefrontobj/

recomendaría en contra de hacer su propio formato de archivo. El Wavefront OBJ es tan simple como se consigue y está bien especificado.

Aquí hay un ejemplo de un avión 2x2. v es para las coordenadas de vértice, f para la descripción de caras (que vértices están conectados):

v -0.500000 -0.000000 0.500000 
v 0.000000 -0.000000 0.500000 
v 0.500000 -0.000000 0.500000 
v -0.500000 0.000000 0.000000 
v 0.000000 0.000000 0.000000 
v 0.500000 0.000000 0.000000 
v -0.500000 0.000000 -0.500000 
v 0.000000 0.000000 -0.500000 
v 0.500000 0.000000 -0.500000 
v -0.500000 -0.000000 0.500000 
v 0.000000 -0.000000 0.500000 
v 0.500000 -0.000000 0.500000 
v -0.500000 0.000000 0.000000 
v 0.000000 0.000000 0.000000 
v 0.500000 0.000000 0.000000 
v -0.500000 0.000000 -0.500000 
v 0.000000 0.000000 -0.500000 
v 0.500000 0.000000 -0.500000 
f 1/1 2/2 5/5 4/4 
f 2/2 3/3 6/6 5/5 
f 4/4 5/5 8/8 7/7 
f 5/5 6/6 9/9 8/8 
f 10/10 11/11 14/14 13/13 
f 11/11 12/12 15/15 14/14 
f 13/13 14/14 17/17 16/16 
f 14/14 15/15 18/18 17/17 
+0

Si eso es para un avión 2x2 entonces realmente no puedo ver cómo es "simple"! Hay 18 vértices definidos y 8 caras para algo que se supone que tiene 4 vértices y 1 cara ... – freespace

+0

@freespace: Obviamente, eso es 2x2 caras, no 2x2 verts. Además, ha creado dos de ellos (presumiblemente por accidente). –

+0

Gracias por el ejemplo: parece muy complejo para un avión 2x2. El enlace que proporcionó tiene un ejemplo de avión 2x2 más simple. – Draemon

1

POV-Ray's RAW triangle format es lo que considero el más simple. Realmente no puedes ser más simple en mi opinión. Implementé una carga para esto en cuestión de minutos: es un formato muy simple .

0

OBJ es el más extendido y el más simple, pero se descompone si necesita más de una posición de vértice, normal y una sola coordenada de textura. No es extensible en absoluto. También está basado en texto, por lo que tiene problemas con mallas grandes.

GTO ha estado surgiendo como un nuevo formato de intercambio. Es muy sencillo, rápido y extensible, y hay un código de fuente abierta probada en producción a leer y escribir a:

Gto File Format

Esto ha sido utilizado en la producción en varios estudios de efectos visuales y juegos, y sin embargo está a punto la misma cantidad de trabajo para escribir un cargador como un archivo OBJ (y una de las muestras es un convertidor OBJ a GTO).

Compruébelo y ayude a detener la propagación del virus de la hinchazón de Collada.

+0

Suena interesante, pero las tres páginas de documentos 404. Volveré a intentar más tarde. – Draemon

Cuestiones relacionadas