Módulo lunar

Módulo lunar

Nota

En este artículo se describe un ejemplo exploratorio que hemos creado en los laboratorios de diseño de Mixed Reality, un lugar donde compartimos nuestros aprendizajes y sugerencias para el desarrollo de aplicaciones de realidad mixta. Nuestros artículos y código relacionados con el diseño evolucionarán a medida que realizamos nuevas detecciones.

Nota

Esta aplicación de ejemplo se diseñó para HoloLens 1.ª generación.

Lunar Module es una aplicación de ejemplo de código abierto de microsoft Mixed Reality Design Labs. Obtén información sobre cómo ampliar los gestos base de HoloLens con el seguimiento de dos manos y la entrada del controlador de Xbox, crear objetos reactivos a la asignación de superficies y la búsqueda de planos, e implementar sistemas de menú sencillos. Todos los componentes del proyecto están disponibles para su uso en sus propias experiencias de aplicación de realidad mixta.

Vídeo de demostración

Grabado con HoloLens 2 mediante la captura de Mixed Reality

Replanteamiento de experiencias clásicas para Windows Mixed Reality

En alto en la atmósfera, una pequeña nave que recuerda al módulo apollo realiza un estudio metódico del terreno por debajo. Nuestro piloto sin miedo detecta un área de aterrizaje adecuada. El descenso es difícil pero afortunadamente, este viaje ha sido hecho muchas veces antes...

Interfaz original de la 1979 Lunar Lander de Atari
Interfaz original de la 1979 Lunar Lander de Atari

Lunar Lander es un clásico arcade donde los jugadores intentan pilotar un lander lunar en un lugar plano del terreno lunar. Cualquier persona que nació en la 1970s probablemente ha pasado horas en un arcade con sus ojos pegados a esta nave vectorial que cae del cielo. A medida que un jugador navega por su nave hacia un área de aterrizaje, el terreno se escala para revelar progresivamente más detalles. El éxito significa el aterrizaje dentro del umbral seguro de velocidad horizontal y vertical. Los puntos se conceden por el tiempo dedicado al aterrizaje y al combustible restante, con un multiplicador basado en el tamaño del área de aterrizaje.

Aparte del juego, la era arcade de los juegos trajo la innovación constante de los esquemas de control. Desde las configuraciones de botón y joystick de cuatro vías más sencillas (vistos en el emblemático Pac-Man) hasta los esquemas muy específicos y complicados vistos a finales de los 90 s y 00s (como los de simuladores de golf y tiradores de raíl). El esquema de entrada utilizado en la máquina lunar lander es interesante por dos razones: el atractivo de la borda y la inmersión.

Consola arcade de Atari lunar Lander
Consola arcade lunar de Atari

¿Por qué Atari y muchas otras empresas de juegos decidieron replantear la entrada?

Un niño que camina a través de un arcade naturalmente será intrigado por la máquina más reciente y flash. Pero Lunar Lander cuenta con una nueva mecánica de entrada que se destacó de la multitud.

Lunar Lander utiliza dos botones para girar la nave izquierda y derecha y una palanca de empuje para controlar la cantidad de empuje que produce la nave. Esta palanca proporciona a los usuarios un cierto nivel de finura que un joystick normal no puede proporcionar. También es un componente común a las cabinas de aviación modernas. Atari quería que Lunar Lander sumerja al usuario en la sensación de que estaban pilotando de hecho un módulo lunar. Este concepto se conoce como inmersión táctil.

La inmersión táctil es la experiencia de los comentarios sensoriales de realizar acciones repetitivas. En este caso, la acción repetitiva de ajustar la palanca de limitación y la rotación, que nuestros ojos ven y nuestros oídos escuchan, ayuda a conectar al jugador al acto de aterrizar una nave en la superficie de la luna. Este concepto puede estar vinculado al concepto psicológico de "flujo". Donde un usuario se absorbe por completo en una tarea que tiene la combinación correcta de desafío y recompensa, o simplemente, está "en la zona".

Posiblemente, el tipo de inmersión más destacado en la realidad mixta es la inmersión espacial. El punto entero de la realidad mixta es engañarnos para creer que estos objetos digitales existen en el mundo real. Estamos sintetizando hologramas en nuestro entorno, sumergidos espacialmente en entornos y experiencias completos. Esto no significa que todavía no podamos emplear otros tipos de inmersión en nuestras experiencias igual que Atari hizo con inmersión táctil en Lunar Lander.

Diseño con inmersión

¿Cómo podríamos aplicar inmersión táctil a una secuela volumétrica actualizada al clásico de Atari? Antes de abordar el esquema de entrada, es necesario abordar la construcción del juego para el espacio tridimensional.

Visualización de la asignación de superficie en HoloLens
Visualización de la asignación espacial en HoloLens

Al aprovechar el entorno de un usuario, tenemos eficazmente opciones infinitas de terreno para el aterrizaje de nuestro módulo lunar. Para hacer que el juego sea más parecido al título original, un usuario podría manipular y colocar paneles de aterrizaje de diferentes dificultades en su entorno.

Requerir al usuario que aprenda el esquema de entrada, controlar el barco y tener un pequeño destino en el que aterrizar es mucho preguntar. Una experiencia de juego exitosa cuenta con la combinación correcta de desafíos y recompensas. El usuario puede elegir un nivel de dificultad, con el modo más sencillo simplemente requerir que el usuario se coloque correctamente en un área definida por el usuario en una superficie escaneada por HoloLens. Una vez que un usuario recibe el cuelgue del juego, puede después subir la dificultad a medida que se ajuste.

Adición de entradas para gestos de mano

La entrada base de HoloLens solo tiene dos gestos: Pulsación en el aire y Bloom. Los usuarios no necesitan recordar matices contextuales ni una lista de lavandería de gestos específicos que hacen que la interfaz de la plataforma sea versátil y fácil de aprender. Aunque el sistema solo puede exponer estos dos gestos, HoloLens como dispositivo puede realizar un seguimiento de dos manos a la vez. Nuestra oda a Lunar Lander es una [aplicación inmersiva, lo que significa que podemos ampliar el conjunto base de gestos para aprovechar dos manos y agregar nuestros propios medios táctiles para la navegación del módulo lunar.

Mirando hacia atrás el esquema de control original, necesitamos resolver para el empuje y la rotación. La advertencia es la rotación en el nuevo contexto agrega un eje adicional (técnicamente dos, pero el eje Y es menos importante para el aterrizaje). Los dos movimientos de nave distintos se prestan naturalmente para asignarse a cada mano:

Pulse y arrastre el gesto para girar lander en los tres ejes
Pulse y arrastre el gesto para girar lander en los tres ejes

Empuje

La palanca en la máquina arcade original asignada a una escala de valores, cuanto mayor se movió la palanca, se aplicó más empuje a la nave. Un matiz importante que se debe señalar aquí es cómo el usuario puede quitar el control y mantener un valor deseado. Podemos usar eficazmente el comportamiento de pulsar y arrastrar para lograr el mismo resultado. El valor de empuje comienza en cero. El usuario pulsa y arrastra para aumentar el valor. En ese momento podrían dejar que lo mantengan. Cualquier cambio de valor de gesto de arrastrar y pulsar sería la diferencia del valor original.

Rotación

Esto es un poco más complicado. Tener botones holográficos "girar" para pulsar hace que una experiencia terrible. No hay un control físico para aprovechar, por lo que el comportamiento debe proceder de la manipulación de un objeto que representa el lander o con el propio lander. Hemos llegado con un método mediante tap-and-drag, que permite a un usuario "insertar y extraer" eficazmente en la dirección a la que quiere que se enfrente. Cada vez que un usuario pulsa y mantiene pulsado, el punto en el espacio en el que se inició el gesto se convierte en el origen de la rotación. Al arrastrar desde el origen se convierte el delta de la traducción de la mano (X,Y,Z) y se aplica a la diferencia de los valores de rotación del lander. O simplemente, arrastrando hacia la izquierda <-> derecha, arriba><- hacia abajo, hacia adelante - hacia atrás -> hacia atrás <en espacios gira la nave en consecuencia.

Dado que HoloLens puede realizar un seguimiento de dos manos, la rotación se puede asignar a la mano derecha mientras el empuje está controlado por la izquierda. La finesa es el factor de conducción para el éxito en este juego. La sensación de estas interacciones es la prioridad más alta absoluta. Especialmente en el contexto de inmersión táctil. Un barco que reacciona demasiado rápido sería difícil de dirigir, mientras que uno demasiado lento requeriría que el usuario "empujar y tirar" en el barco durante una cantidad de tiempo difícilmente larga.

Adición de entradas para controladores de juego

Aunque los gestos de mano en HoloLens proporcionan un método nuevo de control específico, todavía hay una cierta falta de comentarios táctiles "verdaderos" que obtiene de los controles analógicos. La conexión de un mando de juego xbox nos permite recuperar este sentido de física mientras aprovecha los sticks de control para mantener un control preciso.

Hay varias maneras de aplicar el esquema de control relativamente directo al mando de Xbox. Puesto que estamos intentando mantenernos lo más cerca posible de la arcade original configurada, El empuje se asigna mejor al botón del desencadenador. Estos botones son controles analógicos, lo que significa que tienen más que estados de encendido y apagado simples, en realidad responden al grado de presión que se les pone. Esto nos da una construcción similar a la palanca de empuje. A diferencia del juego original y el gesto de la mano, este control cortará el empuje del barco una vez que un usuario deje de presionar el gatillo. Todavía da al usuario el mismo grado de finura que el juego arcade original.

El stick analógico izquierdo se asigna a Yaw y Roll, el stick analógico derecho se asigna a Pitch and Roll
El stick analógico izquierdo se asigna a la guiñada y el rollo; el stick analógico derecho se asigna a la inclinación y el roll

Los sticks digitales duales se prestan naturalmente a controlar la rotación de buques. Desafortunadamente, hay tres ejes en los que el barco puede girar y dos sticks digitales que admiten dos ejes. Esta falta de coincidencia significa que uno controla un eje; o hay superposición de ejes para los sticks digitales. La solución anterior terminó sintiéndose "rota", ya que los sticks digitales mezclan inherentemente sus valores locales X e Y. La última solución requería algunas pruebas para encontrar qué ejes redundantes sienten lo más natural. En la muestra final se usa la rotación y el giro (Y y X ejes) para el stick analógico izquierdo, y el tono y el giro (Z y X ejes) para el stick analógico derecho. Esto sintió lo más natural como el rollo parece emparejarse de forma independiente con el yaw y el tono. Como nota lateral, el uso de ambos sticks analógicos para el rollo también se produce para duplicar el valor de rotación; es muy divertido tener los bucles de lander do.

En esta aplicación de ejemplo se muestra cómo el reconocimiento espacial y la inmersión táctil pueden cambiar significativamente una experiencia gracias a las modalidades de entrada extensibles de Windows Mixed Reality. Aunque Lunar Lander puede estar cerca de 40 años de edad, los conceptos expuestos con ese pequeño octágono con piernas vivirán para siempre. Al imaginar el futuro, ¿por qué no mirar el pasado?

Detalles técnicos

Puede encontrar scripts y objetos prefabricados para la aplicación de ejemplo módulo lunar en gitHub de Mixed Reality Design Labs.

Acerca del autor

Imagen de Addison Linville Addison Linville
UX Designer @Microsoft

Consulte también