Usuarios revisando este tema :
1 Invitados:
Introduccion al motion capture con kinect/Blender |
||
|---|---|---|
|
Nuevo usuario
![]()
Registrado:
26/2/2011 13:56 Grupo:
Usuarios Registrados Mensajes:
14
Nivel : 2; EXP : 50
HP : 0 / 37 MP : 4 / 253 ![]() |
Hola, me presento mi nombre es Oscar García López y moderare esta sección del foro. Comenzaremos hablando un poco de motion capture con kinect, antes que nada vamos a comenzar entendiendo el como funcionan las librerías que utilizaremos, para esta practica utilizaremos OpenNi/Nite.
OpenNi: Es una especie de framework/driver liberado por la empresa PrimeSense (involucrada con el desarrollo del hardware de kinect) que entre otras cosas nos permite tener acceso al sensor de profundidad. Nite: Una extensión de OpenNi que nos permite reconocer gestos (movimientos) y realizar "skeleton tracker". de momento no nos centraremos en como se instalan estas herramientas, mas bien en su uso, sobre la instalación: http://www.beta2k.es/instalar-driver-de-kinect-openninite/ aquí unos vídeos de lo que se vio en la conferencia de "Hacking kinect" que di en enli, pronto subiré mas. (este vídeo demuestra lo que se vera en esta introducción) (como podrán ver para cualquier persona esta clase de control es completamente natural... incluyendo los niños). ya que se tenga funcionando las librerías vamos a comenzar a trabajar con los movimientos, en mi caso reutilice parte del código escrito por Oz Magal para "facilitar" un poco este ejemplo, pero próximamente terminaremos el plugin para blender. Tuvimos un problema con blender al utilizar hilos y actualizar la ventana (debido a que kinect trabaja a 30 frames por segundo blender simplemente desbordaba, aunque quizás también se debía a la incompatibilidad con la tarjeta gráfica que utilizamos). Para comenzar se requiere tener instalado OpenNi y Nite (y sensor), vamos a realizar este ejemplo en base al código de Oz Magal (que se encuentra en los ejemplos de Nite) llamado "Players", únicamente editaremos el archivo SceneDrawer.cpp (para trabajar con OpenNi/Nite se requiere saber un poco de c/c++), de momento este ejemplo lo realizaremos para trabajar sobre X11, pero próximamente subiremos el código para otras plataformas que no lo soportan. Una vez cumplidos los requisitos previos continuemos: En este ejemplo se mostrara como mover objetos en blender con la mano derecha (como "mouse") e izquierda (para tomar objetos). Para localizar la ubicación de algún punto del usuario sincronizado (posición "Psi") podemos realizar lo siguiente:
XnPoint3D getpost(XnUserID player, XnSkeletonJoint eJoint1) {
esta función nos retornara las coordenadas (X,Y,Z) del punto solicitado, Nite nos soporta los siguientes puntos: Nombre del punto/Valor int XN_SKEL_HEAD/1 XN_SKEL_NECK/2 XN_SKEL_TORSO/3 XN_SKEL_LEFT_SHOULDER/6 XN_SKEL_LEFT_ELBOW/7 XN_SKEL_LEFT_HAND/9 XN_SKEL_RIGHT_SHOULDER/12 XN_SKEL_RIGHT_ELBOW/13 XN_SKEL_RIGHT_HAND/15 XN_SKEL_LEFT_HIP/17 XN_SKEL_LEFT_KNEE/18 XN_SKEL_LEFT_FOOT/20 XN_SKEL_RIGHT_HIP/21 XN_SKEL_RIGHT_KNEE/22 XN_SKEL_RIGHT_FOOT/24 el tipo XnUserID es de tipo int y sera el id del usuario del cual queremos que nos retorne sus coordenadas (se pueden sincronizar los usuarios que sean (siempre y cuando el espacio lo permita...), solo se requiere hacer algunas pequeñas ediciones en el código).
FILE *datos = fopen("skeleto.txt","w"); // abrimos el archivo donde guardaremos los datos
ahora va el código de blender (python).
import Blender
adjunto los códigos.
Enviado el: 28/2/2011 9:55
Editado por Xianur0 enviado el 28/2/2011 11:20:02
Editado por Xianur0 enviado el 28/2/2011 11:21:02 Editado por Xianur0 enviado el 28/2/2011 11:23:42 Editado por Xianur0 enviado el 28/2/2011 12:19:21 |
|
Transferir a
|
||
Re: Introduccion al motion capture con kinect/Blender |
||
|---|---|---|
|
Nuevo usuario
![]()
Registrado:
27/2/2011 8:17 Desde: MEXICO
Grupo:
Usuarios Registrados Mensajes:
5
Nivel : 1; EXP : 34
HP : 0 / 8 MP : 1 / 57 ![]() |
OLA OYE DISCULPA LA PREGUNTA PERO PS AL EVENTO TUVE LA OPRTUNIDAD DE IR PERO NO ENTRE A LAS CONFERENCIAS Y PS LA VERDAD ME AN COMENTADO MIS COMPAÑEROS MUCHO ACERCA DE ESTA CONFERENCIA Y ME GUSTARIA Q ME RESPONDIERS SI ES POSIBLE ANIMAR CON BLENDER DESDE KINECT Y PS ME GUSTARIA PODER ESTAR EN CONTACTO PARA PODER APRENDER MAS ESPERO Y ESTES BIEN UN SALUDO.
Enviado el: 1/3/2011 10:38
|
|
Transferir a
|
||
Re: Introduccion al motion capture con kinect/Blender |
||
|---|---|---|
|
Nuevo usuario
![]()
Registrado:
26/2/2011 13:56 Grupo:
Usuarios Registrados Mensajes:
14
Nivel : 2; EXP : 50
HP : 0 / 37 MP : 4 / 253 ![]() |
claro, de hecho en el segundo vídeo como podrás ver se esta moviendo al caracter, esos movimientos se están enviando directamente a keyframes de modo que todos tus movimientos ya están guardados y listos para renderar la animación,puedes obtener mi email en mi perfil, saludos.
Enviado el: 2/3/2011 5:02
|
|
Transferir a
|
||
Re: Introduccion al motion capture con kinect/Blender |
||
|---|---|---|
|
G-Blender es mi hogar lejos del hogar
![]()
Registrado:
1/9/2005 7:13 Desde: Torrevieja/España
Grupo:
Usuarios Registrados Mensajes:
1316
Nivel : 31; EXP : 34
HP : 0 / 758 MP : 438 / 17287 ![]() |
Necesito algunas aclaraciones..
Primero.. todo esto esta hecho con blender versión 2.49b (supongo que con la 2.56 no funciona?) Segundo: Veo que para windows dice que se necesita Visual Studio ...? Tercero: ¿se puede utilizar un portatil con una webcam incorporada o necesita algun aparato diferente (camara, microfono, sensor..) Gracias por todos los datos.... Y bienvenido al Foro G-Blender
Enviado el: 2/3/2011 5:36
|
|
|
_________________
http://soliman25.pcweb.es/ |
||
Transferir a
|
||
Re: Introduccion al motion capture con kinect/Blender |
||
|---|---|---|
|
Nuevo usuario
![]()
Registrado:
26/2/2011 13:56 Grupo:
Usuarios Registrados Mensajes:
14
Nivel : 2; EXP : 50
HP : 0 / 37 MP : 4 / 253 ![]() |
Acotación:
Necesito algunas aclaraciones.. lo primero, se hizo en esa versión por que la mas reciente tiene algunos bugs al "redibujar" la ventana (desborda por la velocidad del kinect), pero si correría solo hay que hacer cambios mínimos (mas que nada al importar las librerías). Segundo: no realmente, pasa que la libreria Nite tiene soporte para programar en .NET, es decir puedes programar en .NET con ella, el detalle de por que no corre este código con windows es por la tecla A que se utiliza para decirle a blender que actualice la ventana (por el bug de actualizado que tiene con hilos) se envía a X11 (que windows obviamente no utiliza), en el caso de windows se puede remplazar con SendKey(). Tercero: como podrás ver este foro es de (hacking) Kinect Sensor (xbox 360) con blender, de modo que requieres el kinect sensor, lo que se veía en la otra ventana en azul es la representación en 2d de la persona (humana) que se movía, estamos trabajando en desarrollar un sustituto para kinect con cualquier cámara, pero vamos a tardar un poco ya que no se tiene las medidas de profundidad... Saludos espero que tus dudas hayan quedado aclaradas.
Enviado el: 2/3/2011 6:56
|
|
Transferir a
|
||
Re: Introduccion al motion capture con kinect/Blender |
||
|---|---|---|
|
G-Blender es mi hogar lejos del hogar
![]()
Registrado:
1/9/2005 7:13 Desde: Torrevieja/España
Grupo:
Usuarios Registrados Mensajes:
1316
Nivel : 31; EXP : 34
HP : 0 / 758 MP : 438 / 17287 ![]() |
Gracias... ahora ya se por lo menos lo que es el Kinect
http://www.xbox.com/es-ES/Kinect/GetStarted
Enviado el: 2/3/2011 9:37
|
|
|
_________________
http://soliman25.pcweb.es/ |
||
Transferir a
|
||
Re: Introduccion al motion capture con kinect/Blender |
||
|---|---|---|
|
G-Blender es mi hogar lejos del hogar
![]()
Registrado:
11/10/2004 7:48 Desde: MÉXICO
Grupo:
Usuarios Registrados Mensajes:
287
Nivel : 15; EXP : 84
HP : 0 / 371 MP : 95 / 9422 ![]() |
que tal...
estoy tratando de instalar los controladores para poder usar mi futuro kinect, pero no consigo instalar al Nite... esto es lo que me dice en la linea de consola: Acotación: sudo ./install.bash he intentado varias veces en diferentes distros de Ubuntu, pero siempre me detengo en este punto... te agradeceré si me puedes ayudar. saludos. Pd:saludotes... ![]()
Enviado el: 7/3/2011 2:42
|
|
|
_________________
メ ル | ク リ | |
||
Transferir a
|
||
Re: Introduccion al motion capture con kinect/Blender |
||
|---|---|---|
|
Nuevo usuario
![]()
Registrado:
26/2/2011 13:56 Grupo:
Usuarios Registrados Mensajes:
14
Nivel : 2; EXP : 50
HP : 0 / 37 MP : 4 / 253 ![]() |
el detalle esta en que no instalaste antes OpenNi (por lo que no existe /usr/lib/libXnVFeatures.so ni /usr/etc/primesense/XnVFeatures), primero instala OpenNi y luego ya Nite, puedes guiarte del siguiente enlace:
http://www.beta2k.es/instalar-driver-de-kinect-openninite/ saludos! ;)...
Enviado el: 8/3/2011 17:14
|
|
Transferir a
|
||
Re: Introduccion al motion capture con kinect/Blender |
||
|---|---|---|
|
G-Blender es mi hogar lejos del hogar
![]()
Registrado:
11/10/2004 7:48 Desde: MÉXICO
Grupo:
Usuarios Registrados Mensajes:
287
Nivel : 15; EXP : 84
HP : 0 / 371 MP : 95 / 9422 ![]() |
que tal...
gracias por la respuesta. pues creo que ese no es el caso; ya lo tengo instalado según el primer enlace que publicaste y no se cual sea la razón... alguna otra idea??? Pd:saludotes... ![]()
Enviado el: 9/3/2011 7:20
|
|
|
_________________
メ ル | ク リ | |
||
Transferir a
|
||
Re: Introduccion al motion capture con kinect/Blender |
||
|---|---|---|
|
Nuevo usuario
![]()
Registrado:
26/2/2011 13:56 Grupo:
Usuarios Registrados Mensajes:
14
Nivel : 2; EXP : 50
HP : 0 / 37 MP : 4 / 253 ![]() |
por favor pega la salida del comando:
cat /proc/cpuinfo | grep ssse3 pasa que OpenNi nativamente viene con soporte para sse3... quizás tenga algunos problemas y tengas que re-compilar... en caso de que no tenga soporte para sse3: ve a la carpeta del OpenNi y necesitas editar el archivo Platform/Linux-x86/Build/CommonMakefile b/Platform/Linux-x86/Build/CommonMakefile localiza la linea:
SSE_GENERATION = 3
(aparentemente es la linea 27) y cambiarla por:
SSE_GENERATION = 2
y re-compilar, eso debería de funcionar. saludos! ;)...
Enviado el: 9/3/2011 11:10
|
|
Transferir a
|
||
Puede ver mensajes.
No puede enviar mensajes.
No puede responder mensajes.
No puede editar mensajes.
No puede eliminar mensajes.
No puede crear encuestas.
No puede votar.
No puede adjuntar archivos.
No puede hacer un envío sin aprobación.






Blender1.zip
Transferir a



captura.jpg (106.59 KB)





