Tutorial: Realidad Aumentada (nyartoolkit) para Android

Yo creo que nunca hay que dejar de intentar. En mis épocas universitarias (hace dos años… sonó a vejez) programaba y cuando no podía correr la aplicación, seguía intentando hasta que todo funcionara. Me tomaba 4 horas y si se hacía de noche, eso no era algún impedimento. Ahora por llegar cansado del trabajo tengo pocas energias para avanzar. De todas maneras me esfuerzo para darle dos horas a experimentar. Aunque yo no pueda hacer todo, siempre he estado rodeado de entusiastas de programación que muchas veces me han impulsado a seguir trabajando. Este post es un artículo colaborativo de un amigo mexicano que tuvo una idea hace meses y lo orienté en su trabajo. Hoy puedo decir que sale este tutorial a base de esfuerzo y dedicación de un verdadero programador y alentado por mi. De vez en cuando los papeles se invierten y eso es bueno pues de eso se trata una comunidad.

Autor: Neogeek
Correo: clcneogeek@gmail.com

Tutorial de realidad aumentada para Android

  • Misión: Tener documentación de nyartoolkit para nuestra comunidad en hablahispana.

Ryu Iizuka (creador de Nyartoolkit) tiene demasiados proyectos y poco tiempo para documentar. Por eso estamos nosotros. Investigamos y publicamos resultados.


Bueno pues a petición de Emilio, ya que tampoco encontré documentación sobre nyartoolkit, me decidí a aportar un poco de lo que aprendí al tratar de hacer realidad aumentada con  .md2 y NyArToolKit for Android. Para empezar este tutorial supongo que ya tienes instalado Android Bundle con la API de android de la version 2.3.2. Es obvio que usaremos eclipse para trabajar. android sdk manager

NOTA:

nyartoolkit android 3 version

La version que vamos a usar es esta

 Debes saber que el modelo que quieras cargar será creado con Blender 2.49 o 2.47. Estas son versiones antiguas pero recordemos que la extensión .md2 también es muy antigua y el algoritmo para cargarlo también lo es. Así que debes aprender primero a usar esa versión de Blender y debes saber como crear un modelo y exportar su textura a un solo archivo o de otra manera no funciona, por ejemplo del video de Emilio de exportar el cubo con 1 sola textura podría funcionar. Ahora cuando nosotros usamos la librería ‘Nyartoolkit  para processing’ solo usamos 1 librería, pero cuando usamos Ny ArToolKit For Android usamos:

  • NyArToolKit For Android
  • Min3d

Los algoritmos de ‘nyartoolkit for android’ solo sirve para hacer realidad aumentada y el de min3d es para cargar objetos 3d ya sean .md2 .3ds y .obj pero el ejemplo que ha hecho el autor solo está diseñado para que se puedan cargar los .md2 y si llegas a tratar de cargar un .3ds o un .obj jamas te mostrara nada (al menos a mi no me funciono).

Ya tenemos todo lo necesario para hacer el set-up: Programa, versión de android, archivo descargable y la versión de blender. Ahora vamos a comenzar a programar!

Para este punto damos por sobreentendido que has tenido cierto conocimiento de eclipse y la manera de cómo trabaja android con su SDK.

1) Abrimos ECLIPSE y creamos un nuevo proyecto

eclipse proyecto nuevoLuego, lo siguiente será importar el proyecto que descargamos de esta manera:

importar proyecto android

importar proyecto android 2 importar proyecto android 3

 

Si pudiste importar correctamente el proyecto debe aparecer algo así 🙂 Si te has equivocado en algo, intenta nuevamente. Al importar archivos por lo general tienen que saltar ciertas alertas en forma de dibujo. Mira este gráfico y date cuenta que el SRC sale un signo de alerta y los assets, bin presenta un dibujo encima de carpeta. Al importar se agrega documentación y archivos que se deben modificar o tener en cuenta, por ello el programa lo resalta.
importar correctamente android

Ahora obtenemos los siguientes directorios:

  • src: Es  la carpeta en donde se encuentra todo el código necesario.
  • raw: Es en donde pondremos nuestros modelos .md2

Ahora veamos el código que necesitamos modificar y este se ubica en NyArToolKitActivity.

nyartoolkitandroidactivity

El código de Nyartoolkitandroidactivity encierra todo el trabajo que podemos armar. Si bien está algo desfazado, es necesario utilizarlo pues sigue siendo un referente en la programación de realidad aumentada.

nyartoolkotandroidactivity2

Droid y droidr son los nombre de los archivos .md2 que estan en la carpeta raw.

archivo md2 texturas

Ahora en la carpeta drawable debemos meter la textura de cada uno de los modelos que queramos cargar es importante que las texturas o archivos png o jpg sean con el mismo nombre que el de los modelos. Osea si mi modelo se llama mimodelo.md2, la textura se debe llamar mimodelo.png

Patthiro y pattkanji son los 2 marker por defecto pero podemos cambiarlos sin ningún problema. Ahora por si queremos agregar nuestros propios markes solo faltaría hacerlos con el marker generator que se encuentra en la web y guardarlos la carpeta drawable y modificar esta linea de código. marcadores realidad aumentada android

Espero que con esta pequeña explicación entiendan un poco como modificar el ejemplo, yo hice el cubo del la exportación .md2 para processing que tiene Emilio en su canal y funciono correctamente.


Gracias por el aporte de Neogeek. Así como el, muchos pueden escribir sus descubrimientos y experimentos. A más información, mejor será para todos.

Aquí les dejo un link de la documentación en PDF y el archivo  fuente. No se olviden de compartir y comentar!
winzip_ico

 

 

Recibe toda la información necesaria sobre realidad aumentada y el mundo de la innovación. Descarga gratis material especial de nuestra comunidad.

9 Comments

  1. Jorge andres July 19, 2014
    • Emilio Vegas July 19, 2014
  2. neogeek July 21, 2014
    • Emilio Vegas July 21, 2014
  3. york steven cerna mejia January 1, 2015
  4. Reinitha September 1, 2015
  5. Gabriel Moreira October 12, 2015
  6. Edu Benitez July 26, 2016
  7. rafael December 1, 2016

Leave a Reply