Para terminar con nuestro artículo de movimientos 3D, hay que profundizar un poco más en como lo hace un las funciones que utiliza. Reconocer gestos y movimientos es solo parte del trabajo del software. También tiene que interactuar con aplicaciones para que los movimientos que se hacen puedan ser traducidos en acciones con sentido en la pantalla. Con algunas aplicaciones, esto es bastante intuitivo.
Navegar por un álbum de fotos puede solo apoyarse en unos cuantos movimientos a base de zoom o algún efecto, por lo que todo queda de una manera muy simple. Otros programas pueden requerir una variedad mayor de movimientos más complejos. Digamos que llegas a casa con la última versión de tu videojuego favorito para eliminar zombies y estás preparado para probar tus habilidades contra los siniestros oponentes del juego.
Insertas el juego en tu sistema de consola que tiene un sistema de movimientos 3D instalada y coges el arma que viene con el sistema de consolas (al fin y al cabo un joystick). ¿Qué ocurre?
El sistema analiza la escena que tiene enfrente. Detecta la presencia del arma de la consola que tienes en la mano. Según comienza el juego, miras la pantalla y esperas que los zombies empiecen a aparecer. De repente uno estos seres comienza a lanzarte objetos. Según el objeto avanza hacia ti, el sistema de movimientos 3D determina donde iría a parar realmente dentro del contexto de tu espacio físico si fuera un objeto sólido real. Por tu lado, preparas tu movimiento con una ráfaga de tiros.
Ahora el sistema 3D tiene que analizar tu reacción, ver por donde irán las balas y determinar adonde irán. Asumiendo que tus dotes guerreras no te están fallando, consigues abatir a unos cuantos zombies con tus disparos. El sistema lo que hace es volver a calcular unas trayectorias de objetos que van de un sitio a otro.
Algunos juegos puede que no tengan incluidos dispositivos físicos. Tu progreso a través del juego dependerá enteramente en los movimientos que haces con tu cuerpo. El trabajo del sistema es asegurarse que las acciones que tomas tengan un impacto apropiado en el juego. Todas estas acciones tienes que ser calculadas desde el propio juego, lo cual de por si es una tarea grande.
Este es el motivo por el que algunas aplicaciones requieren que te muevas en una manera específica para calibrar el sistema antes de empezar. Una cámara normal captura el mundo que le rodea en una imagen de dos dimensiones.
La lente direcciona la luz a un sensor, y un dispositivo de grabación captura los datos. Mientras que podemos saber lo alejado o cerca que está un objeto basándonos en su tamaño, no podemos realmente crear una imagen tridimensional con una cámara en dos dimensiones.
Esta limitación crear un problema con los interfaces basados en movimientos. Si te pones delante de una cámara normal y agitas los brazos, la cámara puede capturar el movimiento horizontal y vertical. Un ordenador con el software apropiado puede ser capaz de interpretar estos movimientos como comandos.
¿Qué ocurre si mueves tus manos más cerca de la cámara? Un sistema de dos dimensiones no puede interpretar estos movimientos, y también lo pasan mal distinguiendo entre el usuario y el fondo que hay detrás de el. Por lo tanto, ¿Cómo enseñas a una cámara a “ver” en tres dimensiones?
Una manera es añadir una segunda cámara – esto se llama un sistema de cámaras estéreo. Cada cámara captura imágenes dentro del mismo espacio físico. Los flujos de datos de las dos cámaras viajan a un solo ordenador, el cual compara las imágenes y determina sus conclusiones sobre la profundidad basada en la información. Las cámaras no tienen porque estar una al lado de la otra – puedes posicionar una para que apunte a una habitación directamente y la segunda posicionada apuntando al suelo desde el techo.
De alguna manera, esto imita a como los seres humanos percibimos la profundidad. Tendemos a juzgar a cuanta distancia está algo de nosotros basándonos en varias claves visuales. Una de estas viene de cómo ambos ojos perciben la misma escena desde ángulos ligeramente diferentes. Si dibujaras líneas rectas desde tus ojos a un objeto en tu franja de visión, verías dos líneas convergentes. Nuestro cerebro combina la información de nuestros ojos para crear una imagen dentro de nuestra mente.
La velocidad de la luz es de mucha utilidad cuando estás construyendo un sistema de movimientos 3D, particularmente en algunas situaciones y capturas. Con este tipo de sistemas de luz, se unas un sensor de profundidad y un proyector dentro de la cámara.
El proyector emite luz en pulsos – normalmente una luz infrarroja, la cual está fuera del espectro de la luz visible para los humanos. El sensor detecta la luz infrarroja reflejada en todo lo que hay frente al proyector. Un contador mide cuanto tiempo le lleva a la luz abandonar el proyector, se refleja en los objetos y vuelve al sensor. Según se mueve el objeto, la cantidad de tiempo que le lleva a la luz viajar hacer todo esto variará, y el ordenador lo interpretarán los datos como movimientos y comandos.
Otro método de mapear un cuerpo en tres dimensiones es usando un método llamado de luz estructurada. Con este método, un proyector emite luz – de nuevo fuera del espectro de luz visible – en forma de rejilla. Según esta “rejilla” se encuentra con objetos físicos, se va distorsionando.
Un sensor detecta esta distorsión y envía los datos a un ordenador, el cual mide dicha distorsión. Según te vas moviendo, tus movimientos causarán que la rejilla se distorsione de varias maneras. Estas diferencias crean los datos que el ordenador necesita para interpretar los movimientos como comandos.