Cyber-elf Juegos, ideas y cosas

18nov/090

Haciendo aplicaciones de Augmented Reality con Flash: Parte II

En la anterior parte me quedé en la instalación y la codificación temprana, así que continuemos:

2. Los Marcadores

Los Marcadores son una parte importante de la operación, porque son lo que va a leer la aplicación y reemplazar por el objeto 3D. Para empezar los marcadores no son simples imágenes, son matrices numéricas generadas a través de imágenes, el código para generarlas lo desconozco :( pero el generador de marcadores está disponible en esta dirección. Lo importante a la hora de generar el marcador es escoger una imagen que pueda reconocerse desde lejos pero que no sea demasiado común y que esté bien delimitada dentro de un cuadrado negro. Por alguna razón una vez que se ha empleado un marcador de cierto tamaño (en este caso 16 x 16) se tiene que seguir usando ese tamaño.

3. Los Modelos

Podría afirmar que esta es la parte menos documentada de todo el proceso. En teoría se leen los modelos a partir del formato abierto DAE, se agregan las texturas y eso es todo, pues realmente no funcionó así en mi caso.

Para empezar Papervision es bastante limitado a la hora de mostrar geometría 3d, más de 300 triángulos harán que el sistema colapse así que hay que ser muy creativo a la hora de hacer objetos. Adicionalmente no tiene texturas dinámicas, o sea que interactúen con las luces de la escena; una manera de lograr eso sería creando una textura nueva compuesta de un color "puro" (un mapa de bits generado por código de un solo color) y un shader aplicado sobre el mapa de bits, con algo más de tiempo podría pensar en sustituir las texturas de un modelo por texturas generadas en tiempo real, sin embargo eso también conlleva una gran carga adicional para mi código que es bastante ineficiente. Además de eso, Papervision parece tener un problema con 3d Studio Max.

En ninguno de los tutoriales que leí se hizo alusión alguna a todas las vicisitudes que encontraría importando modelos desde 3d Studio Max 2010 empezando por el exportador DAE propio, totalmente incompatible con Papervision, siguiendo por el exportador recomendado que destruyó todos los modelos y pegó vértices donde no debería pegarlos. Al parecer nadie más tiene ese problema, supongo yo que es porque toda la gente de los tutoriales usa blender, un programa que no me gusta ni cinco... En fin, el formato para poder leer desde Papervision el material de 3dmax es el 3ds, un formato abierto, antiguo, que no permite exportar animaciones; adicionalmente hay que "cocinar" las texturas, o sea hacer un mapa de bits que tenga todos los dobleces de las caras del modelo, y no utilizar unidades de referencia porque Papervision sólo reconoce un tipo de unidades. Para evitar problemas cuando los objetos se tocan lo mejor es meter cada objeto en un archivo separado, de esa manera se pueden tocar sin que se destruyan al hacerlo.

4. Mover los objetos en Papervision

Todo se debe hacer con objetos DisplayObject3D y teniendo siempre presente que Papervision es el "otro lado del espejo" del programa 3d, todo está reflejado incluyendo el movimiento y la rotación, además, entre más lejos esté el plano principal del centro del plano generado por el marcador más inestable se pone el modelo.

Creo que eso es todo lo que se me ocurre que podría ser importante.

¿Te gustó este artículo?

¡Suscríbete a nuestro feed RSS!

Archivado en: General Deja un comentario
Comentarios (0) Trackbacks (0)

Aún no hay comentarios.


Deja un comentario


Aún no hay trackbacks.