Antes de nada, unas advertencias:
- La idea de este hilo
no es realizar un post técnico acerca de cómo funciona el WiiMote y el MotionPlus, por lo que, en la medida de lo posible, se evitará el escribir con un lenguaje poco claro y comprensible.
- Las definiciones distan mucho de ser exactas. Si bien son ciertas, en algunos casos lo son sólo a medias, así que nadie las tome como verdades absolutas, sólo sirven como orientación. Para encontrar definiciones más exactas, se puede recurrir a la wikipedia.
- Lo que se diga del MotionPlus, hasta su salida, sólo se basará en suposiciones, hipótesis e informaciones provenientes de los medios. Sin tenerlo entre manos es prácticamente imposible descubrir su funcionamiento real.
Definiciones muy sencillas y claras que nos ayudarán a entender mejor la tecnología con la que Nintendo ha dotado a los mandos de la Wii, y a su "añadido", el MotionPlus.
-
Acelerómetro. A grandes rasgos, se tratan de dispositivos capaces de medir la aceleración de un objeto a lo largo de un eje espacial, de dos o de tres. Estos datos, en forma de pulsos eléctricos, cambian de frecuencia según la aceleración a la que está siendo sometido el objeto y, si se someten a un análisis posterior (por medio de un microcontrolador, por ejemplo), nos permitirán conocer desde la posición de un objeto, su inclinación, su velocidad o la intensidad de las fuerzas G.
Wikipedia -
Giroscopio. Como su nombre indica, es un dispositivo (por lo general, mecánico) en cuyo interior se encuentra un cuerpo (suele ser una esfera o un disco) que "gira" sin control en cualquiera de los tres ejes. Sin entrar en detalles de cuáles son las fuerzas que intervienen, lo que nos interesa realmente es saber que los sensores del giroscopio "traducen" la velocidad de rotación en un voltaje determinado que, una vez analizados, pueden ser convertidos en ángulos de inclinación.
Wikipedia-
LEDs infrarrojos. Son los cuatro leds que se "esconden" en la barra de sensores de Wii. La luz infrarroja se encuentra en uno de los extremos del espectro visible y, por lo tanto, no puede ser observable directamente por nuestros ojos, pero sí que es recogida por el sensor de infrarrojos del WiiMote.
Wikipedia WiiMote Si hay algo que define el WiiMote es su versatilidad. Diseñado como si de un mando a distancia se tratase, el revolucionario sistema de control de Wii, de un poco más de 100gr. de peso, incluye, a pesar de su pequeño tamaño, un acelerómetro, un sensor de infrarrojos, un altavoz, una memoria EEPROM de 16kb., motor para vibración, un chip bluetooth de Broadcom para comunicarse con la consola, un convertidor de audio, etc... Por Internet se puede leer que el WiiMote incorpora un giroscopio de Gyration, pero esta idea, a pesar de estar en los primeros documentos que salieron a la luz, fue descartada finalmente por su consumo y su precio.
NunchuckPor otra parte, el Nunchuck es el complemento perfecto del WiiMote, añadiéndole un stick analógico y dos nuevos botones. El Nunchuck cuenta, además con un acelerómetro independiente que nos permitirá trasladar los movimientos que hagamos con nuestra mano izquierda al juego.
MotionPlusPor lo que sabemos, el MotionPlus es un complemento desarrollado conjuntamente con al empresa
Invensense, que cuenta con un nuevo acelerómetro y un giroscopio. Se situará en la parte inferior del WiiMote, en el mismo puerto por el que conectamos el Nunchuck, y prometen que ayudará a los programadores a conseguir trasladar fielmente los movimientos que hagamos con el brazo al juego.
Entrevista traducida a los creadores.
¿Se pueden representar movimientos 1:1 sólo con el WiiMote?El anuncio del MotionPlus por parte de Nintendo en el marco del E3 ha despertado mucha polémica. Según la información recogida en su página web, el MotionPlus es un accesorio que, combinado con los acelerómetros del WiiMote y su puntero, permitirá situar al jugador en un entorno 3D y trasladar fielmente los movimientos de su brazo a la consola.
La controversia se ha generado al hacer alusión a la recreación 1:1 del movimiento. Pero... ¿No era esto lo que nos vendió Nintendo con la salida de Wii?
Yendo al grano, con el WiiMote
sí que se pueden trasladar fielmente los movimientos de nuestra muñeca al videojuego, sólo que los desarrolladores han de tener ganas de trabajar. Curiosamente, vemos los mejores ejemplos de estos movimientos 1:1 en juegos que distan mucho de ser considerados obras maestras, como podrían ser el Kororinpa, Harry Potter y la Orden del Fénix o, más recientemente, Tomb Raider Anniversary (mientras Lara Croft sujeta la linterna).
De hecho, hay muchos vídeos en Internet que nos muestran a programadores amateurs haciendo sus pinitos en el movimiento 1:1 aprovechando el mando de Wii. Nintendo no mintió.
Sin embargo, lo que propone el MotionPlus es otra cosa...
Movimiento del brazo.Como hemos visto, el WiiMote, por sí solo (no contamos aquí con el puntero) sólo es capaz de enviar información del giro de la muñeca. Siendo más concretos, envía información a la consola de la aceleración a la que sometemos al mando cuando movemos nuestra mano. Sin embargo, con el MotionPlus la cosa cambia...
Con el MotionPlus, los desarrolladores de Wii podrán podrán situar nuestro bazo derecho (y, por lo tanto, el resto del cuerpo) en un entorno 3D y "capturar" sus movimientos, de una manera 100x100 fiable. Todo depende, claro está, de la pericia y las ganas que le echen, pero el nuevo acelerómetro y el giroscopio ayudará en mucho a la tarea de programar animaciones 1:1.
Usemos nuestra imaginación y metámosnos en la piel de un desarrollador de juegos para la Wii. Pongamos que, por ejemplo, nos han encargado realizar un juego en tercera persona de peleas con espadas y nosotros, que somos así de cabezotas, queremos que el control sea 1:1. ¿Cómo lo haríamos sólo con el WiiMote?
El WiiMote nos envía información acerca de la inclinación y la velocidad del mando y, obviamente, de la muñeca del jugador. Al no disponer de un giroscopio, nunca sabríamos la inclinación real de la muñeca, sólo podríamos hacer estimaciones (aquí entraría nuestra capacidad para encontrar soluciones), y nunca tendríamos la certeza, al 100x100 de cómo está girando la mano. Por poner un ejemplo, los datos que el mando me envíe si el jugador está sentado diferirán mucho de los que me mande si juega tumbado.
Nosotros, como programadores, intentando que nuestro juego fuese lo más preciso posible, podríamos solucionar estos problemas usando algunos "trucos". Como no nos interesa que el jugador sepa que estamos "ajustando" el programa, podríamos emplear una sencilla treta, consistente en obligar a que el jugador posicione el mando centrándolo sobre la pantalla. ¿Cómo conseguiríamos esto sin que se diese cuenta? Pues, simplemente, colocando un botón en el centro de la pantalla y colocando un texto del tipo "Pulse para jugar", así los datos los tomaríamos justo después de que se pulsase dicho botón, sabiendo que el mando estaba apuntando al punto central de la pantalla.
Una vez pulsado el botón, ya sabríamos que el mando está colocado, más o menos, en posición horizontal y apuntando a la pantalla. Cuando el acelerómetro nos indicase que el mando se inclina a la derecha, podríamos girar la muñeca de nuestro muñeco de la misma manera. Sin embargo, si queremos que nuestro muñeco intente simular los movimientos del brazo y no de la muñeca, hemos de volver a emplear "trucos". El número de éstos que queramos emplear dependerá de nuestras ganas de programar, de lo capaces que seamos para comprender su funcionamiento y entenderlo, etc...
Por poner un ejemplo de cómo podríamos simular el movimiento del brazo. El nuestro es un juego de peleas, así que entendemos que los jugadores darán mandobles cuando se encuentren en una batalla, y estos no serán ni suaves ni tranquilos. Sabemos, además, que por lo general, el cuerpo humano no tiende a hacer movimientos bruscos de muñeca si estos no van acompañados de movimientos con el brazo. Así que, con esto, podemos concluir que nuestro muñeco deberá mover el brazo cada vez que se encuentre en una pelea o cada vez que haga un movimiento brusco con la muñeca.
Como vemos, se puede hacer, pero como tengamos el día perro y/o la empresa nos "achuche", iremos a lo fácil: movimientos predefinidos.
Queremos hacer el mismo juego de espadas mencionado anteriormente, pero esta vez usando lo que nos proporciona el MotionPlus. Partimos de la misma base: nos gustaría que el muñeco calcase lo que el jugador hace con su mano. Bien, en este caso todo, absolutamente todo, sería más simple.
En primer lugar, el tener que emplear "trucos" para que el jugador situase el mando en horizontal no sería necesario, porque el giroscopio nos va a dar, siempre, el ángulo de inclinación exacto en sus tres ejes. Ya está, para que nuestro muñeco tuviese la misma inclinación en la mano que el jugador, sólo tendríamos que coger el dato del MotionPlus y pasarlo, tal cual, al personaje 3D.
Ahora viene la segunda parte, ¿y el movimiento del brazo? Aquí sí que tendríamos que realizar algunos cálculos, pero infinitamente más sencillos que los que realizaríamos si sólo contásemos con el WiiMote. Al estar situado el acelerómetro del WiiMote en su parte superior, y colocarse el MotionPlus en la base del mismo, la distancia entre ambos acelerómetros hace que el calcular el movimiento del brazo sea tremendamente sencillo.
Por ejemplo, si el brazo se mueve hacia la derecha, la aceleración que registrará el WiiMote será bastante similar a la que registre el MotionPlus. Sin embargo, si apenas hay movimiento y sólo se está girando el mando, la aceleración en el eje X será mayor en el WiiMote que en el MotionPlus. Además, para tener la certeza de cómo se está produciendo el moviento, ya estábamos empleando los datos del acelerómetro...
Si hablamos de proyectos amateurs que emplean el WiiMote hemos de mencionar, necesariamente, a Jhonny Lee,de la Universidad de Carnegie Mellon, que se hizo bastante famoso al crear un sistema de detección del movimiento de la cabeza (head tracking), que permitía representar en pantalla un entorno 3D que mostraba lo que realmente verían nuestros ojos. Se dice que el juego Boom Blox cuenta con un huevo de pascua que imita este efecto, pero no he podido comprobarlo personalmente.
En el
blog de Jhonny Lee podéis encontrar multitud de proyectos originales sobre cómo usar el mando de Wii. También se ha creado un
foro donde desarrolladores de todo el mundo discuten acerca de ideas sobre el uso del WiiMote.
Algunos de los más interesantes:
Head TrackingEl famoso vídeo de Jhonny Lee. Quien no lo haya visto, debería hacerlo.
Realidad virtual con Linux y el Wiimote¿De verdad que Wii no puede representar movimientos 1:1? Aunque el programa tarde bastante en reaccionar, recordemos que esto es un proyecto amateur. Por cierto, ya veréis.
Minority Report con WiiMoteComo se puede apreciar, sujetando dos emisores de infrarrojos entre las manos se podrían crear interfaces como la de la famosa película de Spielberg.
Álbum de fotosBasado en la idea anterior, podemos ver cómo se podría manejar un álbum de fotos con dos luces infrarrojas colocadas en sendos bolígrafos, mientras tenemos el WiiMote bajo el monitor.
PizarraUn sencillo ejemplo de cómo crear una pizarra electrónica con el WiiMote. En Youtube hay multitud de videos similares, pero pondremos este ejemplo ya que usa la herramienta de diseño más potente en la actualidad.
Aquí tenéis, además, un vídeo donde explican su funcionamiento y cómo construirla:
WiidraEl Wiimote puede ayudar a todos aquellos que quieran aprender a escanciar sidra...
Herramientas con las que vosotros mismos, de forma muy sencilla, podréis "cacharrear" con el WiiMote y vuestro ordenador. Hace falta, claro, que vuestro ordenador pueda recibir conexiones bluetooth.
GlovePieSólo para Windows. Es un proyecto de Carl Kenner que inicialmente servía para emular aparatos de realidad virtual mediante joysticks y teclado. Gracias a un sistema programable de scripts, GlovePie permite asignar a cada acción del WiiMote una tecla o un movimiento del ratón, lo que nos permite controlar, por ejemplo, el Bioshock con el mando de Wii como si estuviésemos jugando al Metroid Prime 3.
En la
página web del proyecto encontraréis más información.
WMDParecido al GlovePie, pero para Gnu/Linux, se trata de una librería escrita en python con la que podremos, por ejemplo, controlar el escritorio 3D del Compiz con nuestro WiiMote, jugar a juegos, manejar el ratón, etc... Su web:
forthewiin.com WiiuseLibreria escrita en C que nos permite recibir cualquier dato del WiiMote y el nunchuck. Personalmente, la mejor librería de las disponibles para trabajar, ya que es compatible con múltiples sistemas operativos y tiene una documentación que, si bien no es muy extensa, es bastante fácil de entender.
Más información en:
wiiuse.netWiiLi.orgWiki donde encontraréis multitud de proyectos relacionados con el WiiMote, sobre todo para Linux. En la web, además, podréis descargar un Live-CD basado en Knoppix que ya cuenta con la implementación de varias librerías para poder controlar el sistema con el mando de Wii. La web,
www.wiili.orgNoticias aparecidas en Vandal que hablan del WiiMote y del MotionPlus (después del anuncio de éste):
Video: Demostración técnica (01/08/2008)
Noticia: Red Steel 2 contará con tecnología MotionPlus (28/07/2008)
Noticia: E3: La tecnología MotionPlus podría incluirse de serie en el mando de Wii (23/07/2008)
Noticia: E3: InvenSense es la compañía responsable del MotionPlus (22/07/2008)
Noticia: E3: Nintendo mejora la detección de movimientos con MotionPlus (16/07/2008)
Listado de juegos que harán uso del MotionPlus.
WiiSports ResortReed Steel 2<br/>
Veces editado: 5
Última edición: 01/08/2008 17:44