2010-07-02 17 views
28

Parece que hay un buen número de cargadores de archivos de malla OBJ que las personas han desarrollado para su uso en la plataforma Android. Me pregunto si alguien tiene alguna experiencia con estos y puedo ofrecer una recomendación sobre cuál parece funcionar mejor para ellos.Android OpenGL .OBJ cargador de archivos

Éstos son mis criterios:

  • Ligera (tamaño de archivo pequeño),
  • optimizado para la velocidad,
  • fácil de implementar,
  • Ofertas de algún tipo de apoyo mapeado de texturas (no estoy seguro si Necesito esto - no he llegado lo suficientemente lejos en mi codificación para saber si necesito una biblioteca para hacer esto, o si OpenGL ES podrá hacer todo el trabajo que necesito aquí), y
  • Puede usarse en Aplicaciones de Android que están siendo s viejo comercialmente

Aquí hay algunas de las bibliotecas que he encontrado.

También estoy abierto a escuchar acerca de otros no incluidos en esta lista. ¡Gracias!

+0

Muchas gracias, su pregunta es muy útil, he aprendido sobre los frameworks de modelado 3D para Android. Voy a ir con "Android-GL" – swiftBoy

Respuesta

21

Usted pidió esto hace un tiempo, pero tengo una buena solución si todavía está buscando.

En lugar de cargar un archivo obj, puede convertirlo fácilmente en matrices para los vértices, las normales y las coordenadas de la textura. Hay una herramienta que convierte archivos obj a c archivos de cabecera. Puede convertir la salida para trabajar con Java después. No debería ser difícil.

http://www.heikobehrens.net/2009/08/27/obj2opengl/

Esta solución es fácil, los archivos de cabecera suele añadir mucho espacio en el código fuente de los archivos OBJ y los datos serán más compacta cuando se compila, es muy rápido, ya que tiene los datos allí listos para rendir enseguida, puede convertir las coordenadas de textura y no necesita preocuparse por usarlo para sus productos comerciales.

+0

Sé que esto es muy viejo, pero parece que no puedo encontrar una manera de convertir el archivo de encabezado c para trabajar con java. ¿Cómo haces eso? La publicación del blog fue escrita con el iPhone en mente. –

+1

Tendría que convertirlos usted mismo. Debería ser lo suficientemente directo qué hacer. Simplemente copie los datos de las matrices C en matrices de Java. –

+0

@Matthew Mitchell: He generado las matrices C en matrices de Java como usted mencionó. ¿Me puede dar algunos códigos para cargar estas matrices de Java y mostrar el archivo OBJ en la GLsurfaceview. – Manoj

10

Sé que esta es una vieja pregunta, pero he encontrado algunos problemas para encontrar un buen cargador OBJ para Android.

He intentado casi todas las soluciones propuestas

  • Min3D que es bastante antiguo (última revisión es de 2011)
  • Rajawali que parece ser un tenedor de min3D
  • libgdx que es un motor de juego
  • JPCT-AE un motor 3D para Android

El único que no era demasiado complicado y trabajó fue JPCT-AE, que se puede encontrar aquí: http://www.jpct.net/jpct-ae/

Permite analizar archivos OBJ y carga las texturas del archivo MTL asociado sin ningún problema. Además, la documentación es realmente descriptiva en comparación con otras, y hay un foro con muchas preguntas respondidas.

Cuestiones relacionadas