Avance FaceAPI y Unity3D
Luego de enviar múltiples mails a los diferentes desarrolladores sin respuesta se continuó con las pruebas de integración de FaceAPI con Unity3D en dos nuevos ambientes de trabajo. Esta vez se utilizaron una netbook con Windows 7 32 bits y una MacBook Pro. En el caso de la MacBook, se instaló una VirtualBox para poder emular el sistema operativo Windows XP.
Al descargar y probar las primeras versiones del 6dofstreamer, ambas PCs encontraron errores al correr el programa. Luego de un poco de investigación, se comprobó que era un problema de archivos .dll faltantes. Para encontrar cuales eran los archivos faltantes, se utilizó un programa de uso gratuito Dependency Walker. El funcionamiento de la aplicación es muy sencillo, simplemente se arrastra el archivo ejecutable del programa que se desea a la ventana del Dependency Walker y este devuelve una lista detallada de los archivos que el programa utiliza, marcando con un color los faltantes. Se procedió a descargar los .dll faltantes en cada equipo. En el caso de la Macbook con Windows XP también se tuvo que descargar el paquete Microsoft Visual C++ 2008 Redistributable Package (x86).
Al ejecutar las primeras versiones del streamer, ambos equipos volvieron a registrar el error “ API error code -13”. Se pasó a probar con la versión corregida para Windows 7 64 bits. Nuevamente se obtuvieron archivos dll faltantes que hubo que buscar y descargar.
A considerar: Ambos ambientes de trabajo tienen sus contras. En el caso de la netbook, el procesador no es el más apto para ejecutar una aplicación como Unity3D, pero es la única máquina a la que tuve acceso con este sistema operativo (se había intentado con otra que tuvo resultados positivos en cuanto a la comunicación pero cuya cámara no era compatible con FaceAPI). En el caso de la MacBook con Windows XP, al estar trabajando en una máquina virtual los tiempos de reacción eran muy lentos.
La MacBook con Windows XP tuvo resultados negativos, al correr la aplicación se cerraba con un error no definido: “An exception ocurred. Exception Nr.”.
La netbook con Windows 32 bits tuvo resultados positivos, sin indicios de problemas en la comunicación UDP. Se prosiguió a descargar Unity3D y a probar el script de prueba. Los resultados fueron positivos, se logró interactuar con el escenario virtual. Dado que la PC está muy exigida para usar un programa que grabe el escritorio, se analizará con el tutor la posibilidad de registrar los resultados de otra manera.
Finalmente están listas ambas partes del proyecto, solamente falta integrar la interacción al proyecto de prueba de las cuatro cámaras.Esto se logra simplemente poniendole el script de face tracking al objeto Player del mundo virtual que creamos en la publicacion anterior.
Les dejo un video demo de como quedo:
Links de interés: