1 ago. 2014

Cómo usar el Kinect de XBOX 360 para realizar Motion Capture en Blender 2.71

En este tutorial veremos las nociones básicas para usar el Kinect de la XBOX 360 para realizar capturas de movimiento con el Blender y así poder mover nuestros personajes (tanto en juegos como en animaciones) más rápidamente que de la manera tradicional. Lo que sí, tiene sus errores la captura que deberán ser solucionados manualmente. 
El pequeño inconveniente es que como la Kinect no fue pensada para usar con la computadora, se necesitan algunos pasos para poder sacarla andando y además para que el Blender la tome.
De manera que este tutorial comenzará analizando esa secuencia de operaciones que habrá que realizar para que todo funcione perfectamente en nuestra realización de Motion Capture.

Kinect de la XBOX 360 con el adaptador (derecha) lista para ser usada con el PC

Paso 1, conseguir la Kinect

Conseguir una Kinect de algún amigo que tenga la XBOX 360 o en su defecto, comprarla por separado.

Paso 2, comprar el adaptador para pc

Como la Kinect no está pensada para pc, hay que comprarle el adaptador por separado. Lo bueno que es barato y muy fácil de conseguir.

Paso 3, descargar los controladores


Ahora tendremos que conseguir los drivers o controladores para hacerla andar en la pc con el sistema operativo que tengamos. Yo como ando con computadora antigua, tendo el XP y me costó bastante conseguirlos. Si alguien los necesita se los puedo mandar al correo electrónico indicado por mensaje privado al formulario de contacto. Tengo los del win Xp y los de win 7

De todas maneras, se pueden descargar los controladores desde esta página:


Si superamos el paso 3, instalando los controladores, la Kinect ya tendría que salir andando desde la pc. Cuando se la conecta al puerto USB, se activan tres controladores.

Paso 4, conseguir programa que opere la Kinect:

Ahora tenemos que buscar algún programa que la opere. El que yo usé es el Delicode Ni Mate:
Pero es la versión de prueba por 30 días. Una vez expirada, hay que comprar la original o buscar otro Soft que sea libre. 

También allí mismo podremos descargar libremente un esqueleto base o el famoso conejo y su perfil (que puede ser un txt) para importarlo:

Paso 5, instalar el Addon de Blender

Una vez instalado el programa anterior, instalamos el Addon para Blender


A capturar movimientos

Si todos los pasos anteriores están listos, ya podremos abrir el programa Ni Mate y el Blender al mismo tiempo.

Desde el Blender:

Vamos a File, User Preferences, Addons, Install From Files y seleccionamos el archivo del Addon:



Luego lo activamos



Entonces nos aparecerá en el desplegable de la izquierda toda una serie de opciones para controlar desde el programa Delicode Ni Mate


Desde el programa Delicode


Calibrando la Kinect: Gracias por posar Rosana

Nos posicionamos en la opción Live View y colocándonos en el campo de acción esperamos unos segundos para que el Kinect nos calibre; habiendo seleccionado previamente Full Skeleton.



Ahí, como se ve, está la configuración básica. Si cargamos el perfil del conejo, aparecerán los nombres de los Emptys asociados. Cada nombre allí moverá un objeto en Blender con dicho nombre.

Volvemos a Blender

Si ahora nos dirigimos a Blender, notamos que arriba en la pestaña hay varias opciones:

Nothing, Emptys, Spheres, Cubes

Seleccionemos, por ejemplo, Cubes y démosle Start. Cuando nos desplacemos a la posición de captura, notaremos un humanoide formado por cubos mientras sigue nuestros movimientos.



Si queremos capturar la secuencia, tildamos el botón rojo inferior y presionamos ALT + A mientras damos Start a la opción de Ni Mate en la pestaña de la izquierda:


Y ya tendremos la secuencia de Keyframes realizada, a partir de allí, a renderizar.

Trabajando con el conejo

Si cargamos el perfil del conejo en el programa notaremos que cambian todos los nombres de los manejadores. Esos nombres los colocamos a conveniencia, los cuales serán los mismos que le pondremos a los objetos o Emptys que manejarán.

En Blender cargamos el archivo que nos descargamos del conejo y que se denomina Delicode_NI_mate_Simple_Bunny.
Allí hacemos la misma operación que la anterior, pero no activamos la opción Cube sino que le seleccionamos Notting



Y ya veremos como el conejo cobra vida. Aquí nuevamente podemos capturar en Keyframes todos los movimientos que hagamos. A la cámara la colocaremos convenientemente (no necesariamente de frente) y al conejo lo llevaremos al escenario que sea.

También, se pueden hacer las capturas sin el Sky, generango los movimientos del conejo en imágenes PNG para luego colocar en post producción al conejo o el personaje que sea en nuestra escena. De esa manera realicé el video que se ve a continuación:



Como se ve abajo, las imágenes de la captura del Kinect las agregé con posterioridad al Tracking tradicional hecho en el escenario real. A la sombra también la agregué aparte:


Bueno, hasta aquí el tutorial. Supongo que surgirán muchas dudas, las cuales intentaré solucionar en la sección de comentarios. Igualmente, si no consiguen algunos de los controladores o archivos se los puedo mandar por email (no poner el correo electrónico en la sección de comentarios por el tema de los spam, sino mandarlo por el formulario de contacto).

Pf: Mariano Miguel Lanzi

21 comentarios:

jdd dijo...

hola me puedes pasar el addon por favor??

Mariano Miguel L. dijo...

Sí, por supuesto. Si no lo pudiste descargar de la página oficial yo te lo remito. Mándame un mensaje por el formulario de contacto con tu email (no públicamente).
¡Saludos!

GaToX dijo...

Buenas tardes, soy de México hay alguna tienda que venda el adaptador de kinnect o solamente por internet?

Mariano Miguel L. dijo...

Hola. Yo pregunté en las tiendas de computación y todos me dijeron que lo tenían que mandar a pedir, por lo que lo compré por mi cuenta por internet, en mercadolibre. ¡Saludos y suerte!

Conan NinteenEightyEight dijo...

Hola, me gustaria hacer un video parecido al que tu hiciste con el conejo ¿Podrias hacer algun tutorial sobre como lo hiciste? porfa, que no tengo mucho conocimiento sobre animacionn, gracias!

Mariano Miguel L. dijo...

Hola Conan. Ni bien tenga un tiempo hago el tuto. Básicamente fue mucho motion tracking. Tengo otro tutorial al respecto que a lo mejor te sirve, en particular el tracking con dos puntos:
http://www.creacionesblender.com/2014/07/tracking-de-camara-con-dos-puntos-en.html

¡Saludos!

Anónimo dijo...

hola estoy muy interesada en este asunto para poder integrarlo a un montaje escenico de danza en vivo, intentare experimentar con lo que propes a ver que resulta... no estoy segura de si como propones eto se pueda igual utilizar el kinect del xbox para hacer algo de mapping, soy nueva en todo esto, pero estare estudiando a ver si logro sacar adelante el proyecto, gracias por la info...

Mariano Miguel L. dijo...

Perfecto, cualquier cosa me consltas. Yo hice todo con la kinect de la X-Box 360. ¡Saludos!

Anónimo dijo...

Hola estoy interesado en hacer un proyecto parecido :o tenemos pensado comprar un xbox one, quería saber por favor si no sabes si el xbox one la kinect es distinta al xbox 360

Mariano Miguel L. dijo...

Hola, realmente no o sé con seguridad. Estuve buscando un poco pero no logré encontrar nada específico más que esta discusión en un foro:
http://blenderartists.org/forum/showthread.php?320614-Kinect-2-(Xbox-One-Kinect)-for-artists
Voy a seguir buscando al respecto.
Saludos!

Anónimo dijo...

Oh muy amable!, te aclaro somos estudiantes de Ingenieria y estamos desarrollando proyectos de robótica hemos logrado mucho gracias a blender, tanto que decidimos conseguir para la universidad un kinect sdk 2.0 este es para xboxone dicen que es mucho mejor que el de 360 pero con la pena de no saber si nos vaya a servir de algo jeje, bueno de antemano gracias por todo!!

Víctor Valls dijo...

Buenas, tengo una duda sobre lo de la extensión de la kinect. ¿Esta extensión cómo es? Quiero decir, he visto por Internet que hay cables con un cargador incorporado y hay que no. ¿Cómo es el cable realmente?

Mariano Miguel L. dijo...

Hola. Como originalmente la x_Bo-360 no fue pensada para pc, se necesita ese adaptador que mencionas (se compra aparte). Es como si fuese un cargador que tiene un conector para la kinect y otro enchufe para la red eléctrica. El otro Kinect, el que se hizo para usar en pc, no necesita comprar adaptador porque ya trae todo incorporado. ¡Saludos!

Víctor Valls dijo...

Si no te he entendido mal, dices que hay dos versiones de kinect. La primera, que no estaba pensada para ser usada en el ordenador, no tiene el cable, así que se ha de comprar a parte un cable que lleva un cargador incorporado. En cambio, la segunda versión de kinect sí que lleva el cable incorporado y, al ser una versión más reciente, no hace falta conectarla a la corriente.
¿Es así o me he equivocado en alguna parte?

Mariano Miguel L. dijo...

Sí, exactamente, aunque esa otra Kinect también ha de conectarse a la red eléctrica.Esta es una de sus versiones que por lo que leo hay más de una:
http://www.microsoft.com/en-us/kinectforwindows/
¡Saludos!

Víctor Valls dijo...

¡Muchísimas gracias, amigo! Me será extremadamente útil toda esta información, lo creas o no. Y aunque todavía estoy en bachillerato, me interesa muchísimo Blender y el 3D.
:3

Víctor Valls dijo...

¿Puedes enviarme el addon, por favor?

Mariano Miguel L. dijo...

Sí, claro Víctor. Mándame un mensaje privado con tu email (en la sección que dice deja tu mensaje) ¡Saludos!

Anónimo dijo...

¿Funciona tambien con Kinect de XBOX One?

Mariano Miguel L. dijo...

Hola. Habría que probar si el addon es el mismo. No lo sé. Saludos!

paulina rios dijo...

hola soy de ecuador podrias enviarme el
kinectforwindows para xp POR FAVOR GRACIAS