Consideraciones

Unity, OpenXR y WebXR proporcionan un kit de herramientas versátil para crear interacciones diversas en experiencias envolventes. El objetivo es desarrollar apps envolventes con las que los usuarios puedan interactuar usando experiencias aprendidas existentes. Puedes diseñar desde gestos simples hasta simulaciones complejas basadas en la física.

Ten en cuenta que las apps de Unity, OpenXR y WebXR solo funcionan en Espacio completo.

Obtén información sobre los principios de diseño de Android XR.

Entradas

Las apps de XR pueden incluir interacciones con el seguimiento de manos, ojos y rostros, gestos, comandos por voz y dispositivos de entrada tradicionales, como teclados, mouse y controles. Considera qué entradas necesitará tu app para ofrecer una experiencia del usuario natural y accesible.

  • Admite gestos conocidos para reducir la curva de aprendizaje de tu app. Cuando interactúes con la IU en 2D, usa gestos del sistema estándar, como pellizcar. Para las interacciones en 3D, como levantar y lanzar una pelota, debes diseñar con gestos que imiten la interacción del mundo real. Esto se basa en el conocimiento existente del usuario y reduce la necesidad de instructivos.
  • Si se necesitan gestos adicionales, asegúrate de que sean fáciles de aprender, recordar y ejecutar. Evita los gestos complejos de varios pasos o las posiciones poco naturales que pueden provocar incomodidad y fatiga. Considera proporcionar guías para enseñar a los usuarios a usar gestos con las manos.
  • Asegúrate de que la experiencia se pueda usar con la mano izquierda o derecha. Si eso no es posible, sigue la preferencia de dominancia del sistema.
  • Si bien las interacciones con dos manos pueden ser envolventes, pueden ser un desafío para los usuarios con movilidad limitada. Prioriza las interacciones con una sola mano para las acciones esenciales. Si son necesarios gestos con ambas manos, proporciona métodos alternativos con una sola mano para lograr el mismo resultado.
  • Las apps de Unity, OpenXR y WebXR no se benefician automáticamente de la pila de actividades de Android. Considera implementar una pila de actividades para permitir que los usuarios accedan al gesto atrás de Android XR para deshacer acciones o retroceder con la navegación por gestos.

Dos manos que usan la navegación por gestos.

IU

Los elementos de la interfaz de usuario, como los botones, los paneles y el texto, son esenciales para las interacciones naturales en las apps de XR. El diseño debe priorizar una experiencia del usuario intuitiva y fluida. Las opciones de diseño específicas de la IU dependerán de los requisitos únicos de tu app.

  • Coloca los elementos interactivos principales y el contenido fundamental dentro de la línea de visión y el campo de visión naturales del usuario. Esto mejora la visibilidad y garantiza una experiencia cómoda. Ten en cuenta cómo se espera que los usuarios interactúen con la interfaz para determinar a qué distancia se debe colocar. Por ejemplo, ¿está apuntando con un puntero láser o presionando botones directamente con los dedos? Configura el tamaño de la interfaz según la distancia prevista del usuario. Consulta la guía de tamaño y escala de Android XR.
  • Cuando diseñes elementos interactivos de la IU, como botones, ten en cuenta cómo se espera que los usuarios interactúen con ellos, el nivel de precisión necesario para cada método de entrada (seguimiento de la mano en comparación con el mouse) y adapta factores como el tamaño objetivo y el espaciado según corresponda. Asegúrate de que las posiciones de la IU permitan interacciones cómodas. Proporciona comentarios visuales para las acciones del usuario. Consulta la guía de estilo de Android XR.
  • Las IUs 2D, como los paneles, son adecuadas para las interacciones basadas en menús. Las IUs en 3D, como botones, palancas y interruptores físicos, pueden ser más envolventes cuando interactúan con entornos espaciales. Un equilibrio cuidadoso entre las interacciones basadas en paneles para una alta legibilidad y los objetos 3D para las interacciones centradas en el mundo puede crear una experiencia envolvente y potente.
  • Usa tamaños, tipos y contrastes de fuente adecuados para garantizar que el texto sea legible. Posiciona la IU según la distancia a la que los usuarios verán el texto. Usa fuentes de campo de distancia firmado para renderizar texto de forma fluida en una variedad de tamaños de fuente. Consulta la guía de tipografía de Android XR.

Una persona está completamente inmersa en un entorno espacial con una pantalla muy grande. Está de pie sobre rocas, con los controles de la IU al alcance de la mano.

Interacciones espaciales

Algunas de las interacciones más ricas en la XR implican la capacidad del usuario de interactuar directamente con objetos en 3D. Esto podría ser tan sencillo como levantar, inspeccionar y lanzar un objeto. También incluye interacciones más complejas, como tirar de palancas, presionar botones y, también, interactuar con elementos que el usuario ya tiene en la mano, como rociar un aerosol. Para interacciones intuitivas con objetos 3D, grábalos en función del conocimiento previo que el usuario tiene del mundo.

  • Considera integrar un motor de física si quieres crear acciones realistas. Si compilas con Unity, este tiene un motor de física integrado. Ten en cuenta cuánta potencia de procesamiento consumen los motores de física y realiza optimizaciones para mejorar el rendimiento.
  • La credibilidad es más importante que el realismo. Por ejemplo, si un usuario cree que lanzó una pelota con fuerza, la app debe agregarle fuerza adicional más allá de lo que indican los sensores del dispositivo.
  • Los objetos deben crearse para que coincidan con sus indicaciones visuales. Esto significa que se debe tener en cuenta cada acción posible que un usuario podría realizar en un objeto o con él en tu app. Por ejemplo, se puede levantar un donut, tirarlo y comerlo. En lugar de comer el donut, la app podría usar una voz en off que diga: "No tengo hambre en este momento". Estas soluciones abordan las acciones que un usuario espera realizar con un donut.
  • Los objetos se pueden mantener con varias técnicas, como la vinculación, las juntas de física, el seguimiento y las fuerzas de física. Cada técnica tiene sus propias ventajas y desventajas. Antes de implementar un método de captura personalizado, es fundamental investigar y probar diferentes enfoques para determinar el más adecuado.
  • La ergonomía es importante cuando se diseña en un entorno 3D. Para mejorar la accesibilidad, considera agregar un asa a las superficies planas para permitir que el usuario la ajuste a una altura cómoda. Asegúrate de probar cada objeto del espacio con una variedad de usuarios, ya que el cuerpo de cada persona es diferente.

Job Simulator, un juego de realidad virtual totalmente envolvente con un usuario sentado frente a una computadora antigua en un cubículo de oficina. El juego incluye manos virtuales que pueden interactuar con objetos 3D.

Diseño de escenas

Las escenas pueden variar desde mundos virtuales completamente envolventes hasta experiencias de realidad aumentada que combinan elementos virtuales con el entorno real de un usuario. Diseña escenas que sean cómodas, funcionales y aprovechen las capacidades únicas de la RA.

  • Limita las escenas que se mueven alrededor del usuario, como las de vuelo. Esto puede causar molestias, en especial, si el cuerpo físico de un usuario permanece inmóvil. Algunas técnicas de locomoción, como la visión de túnel (que se describe en la siguiente sección), ayudan a reducir la incomodidad.
  • Para crear experiencias de realidad mixta, puedes usar las capacidades de comprensión de escenas de Android XR para integrar objetos virtuales en el entorno físico de un usuario.
  • En el caso de las aplicaciones de realidad virtual, te recomendamos que incorpores vistas limitadas del mundo real dentro del espacio virtual. Esto ayuda a los usuarios a mantenerse al tanto de su entorno y a interactuar con objetos físicos sin salir de la experiencia envolvente.

Locomoción

Se recomienda que las experiencias de Android XR permitan que los usuarios se muevan libremente por su espacio físico según lo definido por un límite configurado. Por ejemplo, algunos usuarios consideran que las experiencias virtuales son más envolventes cuando se diseñan en torno a un espacio creado por el autor que no se mueve. Si esperas que los usuarios se muevan por un espacio virtual más grande que el que permite el límite, considera usar técnicas de locomoción que amplifiquen el movimiento, como la teletransportación.

Con la teletransportación, un usuario señala y selecciona, o usa un controlador para saltar instantáneamente a una ubicación nueva. Es ideal para cubrir grandes distancias con rapidez y, a menudo, es el método de locomoción que causa la menor cantidad de mareos. Ocultar brevemente la pantalla durante la transición puede minimizar aún más la incomodidad.

Otros métodos de locomoción

Si usas otros métodos de locomoción, considera ofrecer la teletransportación como una alternativa.

  • Caminar en el lugar con los brazos balanceándose: Para simular el caminar, balancea los brazos o mueve el control hacia arriba y abajo. Es posible que algunos usuarios lo encuentren agotador o menos intuitivo.
  • Movimiento continuo: Usa el joystick o el mando de control para moverte por el entorno. En la mayoría de los casos, debes evitar este método, ya que es una causa común del mareo por movimiento.

Si decides usar la locomoción en tu experiencia, ofrece varias opciones para adaptar las preferencias individuales y mejorar la experiencia del usuario.

El mareo por movimiento puede ocurrir cuando hay una desconexión entre el movimiento físico del usuario y su experiencia virtual. Para optimizar la comodidad del usuario durante el movimiento, haz lo siguiente:

  • Asegúrate de que el horizonte virtual permanezca estable y nivelado.
  • Si se requiere un movimiento continuo, evita cualquier aceleración o desaceleración progresiva. Mantén la velocidad constante.
  • La visión en túnel puede ayudar a reducir el mareo por movimiento, ya que limita el campo de visión del usuario durante el movimiento, con un efecto de viñeta que limita el movimiento percibido en las áreas periféricas.
  • Para la rotación, ajusta el punto de vista de un usuario a ángulos específicos. Puede causar cierta desorientación, pero disminuirá el mareo.
  • Los usuarios tienen diferentes niveles de tolerancia. Permite que ajusten la configuración de comodidad según sus preferencias, como elegir su método de locomoción, activar o desactivar la visión de túnel o ajustar la velocidad de movimiento.

Sonido espacial

El sonido es una herramienta poderosa para crear paisajes sonoros envolventes que transporten a los usuarios a otro mundo y evoquen emociones específicas. El audio espacial posiciona con precisión los sonidos en el entorno virtual.

  • El sonido ambisónico es como un cielo virtual para el audio, que proporciona un paisaje sonoro envolvente a los usuarios. Usa la tecnología ambisónica para los sonidos ambientales de fondo o en otras situaciones en las que quieras replicar un campo de sonido esférico completo que rodee al usuario.
  • Las indicaciones de audio espacializadas pueden guiar la atención de un usuario.
  • Aplica espacialización a los efectos de sonido para aumentar la inmersión.
  • La espacialización del audio de voz en la ubicación de una bocina les brinda a los usuarios una sensación de presencia, incluso si no están directamente frente a la bocina.
  • Permite que los usuarios ajusten el audio. Por ejemplo, es posible que quieran inhabilitar o cambiar el volumen de la música de fondo, los efectos de sonido o las voces en off.
  • Considera agregar subtítulos para personas sordas o con problemas de audición.

Más consideraciones sobre la comodidad

Para priorizar la accesibilidad, proporciona opciones personalizables que se adapten a diversas habilidades y preferencias. Esto garantiza que una amplia variedad de usuarios pueda disfrutar de la experiencia envolvente.

  • Haz que tu aplicación se ejecute a 72 fotogramas por segundo: Esto ayudará a minimizar el parpadeo visual y evitará las náuseas.
  • Brindar control a los usuarios: Para que tu app sea fácil de usar para quienes tienen diferentes niveles de afinidad con la XR, permite que los usuarios adapten su experiencia con la configuración personalizable. Considera permitir que los usuarios reasignen los botones y los gestos del controlador para que se adapten a sus necesidades o preferencias físicas. Por ejemplo, los usuarios con movilidad limitada de la mano pueden beneficiarse de diferentes diseños de botones o controles de entrada más grandes y simples.

Para obtener orientación sobre plataformas específicas, consulta los siguientes recursos:

Desarrollo para OpenXR

Desarrolla con Unity

Documentación de WebXR