Los diseñadores de sitios web están familiarizados con la idea del diseño responsivo, es decir, la creación de un sitio web para que funcione en diferentes dispositivos, como teléfonos celulares, tablets y computadoras, y diferentes resoluciones de pantalla y proporciones de píxeles. WebVR presenta nuevos desafíos a la idea de diseño responsivo.
Podemos categorizar una experiencia de WebVR según dos métricas: el nivel de inmersión y el nivel de entrada. Estos niveles se distinguen por "grados de libertad" (DOF). 6 DOF hace referencia al seguimiento de la posición y la orientación, 3 DOF solo hace un seguimiento de la orientación, y 0 DOF no hace un seguimiento de la posición ni la orientación.
Nivel de inmersión
- Sin RV: Monitorea o muestra la pantalla de un dispositivo móvil.
- Stationary VR: Dispositivo con seguimiento de 3 DOF.
- VR sentada: Seguimiento de 6 DOF, pero en un área y un rango de ángulo limitados.
- RV a escala de habitación: Seguimiento de DOF 6 con un entorno del tamaño de una habitación.
Nivel de entrada
- 0 DOF: La única entrada disponible es un clic o un toque. Este método de entrada está vinculado a la dirección hacia la que apunta el usuario. A veces nos referimos a esto como “controlador de la mirada”.
- 3 DOF: Un control que rastrea su orientación se puede usar como un puntero láser para especificar una dirección o una ubicación. La posición del controlador se estima según el punto de vista del usuario. Esto incluye el control Daydream.
- 6 DOF: Es un control que realiza un seguimiento de su posición y orientación. Esto se puede usar para simular con precisión una mano en RV.
Por lo tanto, puedes ver que una sola aplicación puede admitir cualquier cosa, desde una pantalla para dispositivos móviles que no sea de RV con un solo clic para realizar una entrada hasta una experiencia a escala de habitación completa con dos controles de mano con seguimiento completo.
WebVR Lab
En PlayCanvas WebVR Lab, implementamos algunas de las interacciones principales que podrías necesitar en tu aplicación y las escalamos en los diferentes niveles de experiencia.
Cómo funcionan las interacciones
La mecánica básica de cómo funcionan las interacciones en WebVR Lab son las intersecciones de rayos. El piso, la habitación y cualquier objeto con el que se pueda interactuar se definen según una de estas tres primitivas de forma:
- Cuadro de límite alineado con eje (o AABB): Es un cuadro que no se rota.
- Cuadro de límite orientado: Es un cuadro que se puede rotar.
- Esfera: Es un radio alrededor de un punto en el espacio.
Para ver si una acción es posible, activamos un rayo en el mundo y comprobamos si el rayo se cruza con la forma de los objetos que existen en él. Según el lugar donde se origine el rayo (la cámara o el controlador) y la longitud del rayo (manipulaciones de cerca o apuntando a la distancia), son posibles distintos tipos de interacción.
Acciones simples
Primero, definimos algunas acciones simples y cómo se usan con diferentes controladores.
Destacar
Para destacar una ubicación o un objeto, se puede mirar (con un controlador de mirada) o apuntar hacia ellos (con un controlador manual). Esto puede suceder sin presionar un botón o solo cuando se presiona uno.
Clic
Para hacer clic en un objeto o ubicación, primero destaca y, luego, presiona o suelta un botón. Con un controlador de mirada, puedes hacer clic mirando un objeto y presionando el botón o la pantalla. Con un controlador manual, el método consiste en apuntar a un objeto y, luego, hacer clic en un botón.
Interacciones principales
Mediante el uso de los elementos destacados y el clic, implementamos algunas interacciones principales en WebVR Lab.
Teletransporte
Cuando se crea un entorno virtual para que un usuario explore, es probable que sea más grande que el área pequeña que el usuario puede ver sin moverse. WebVR Lab, por ejemplo, tiene tres secciones. una sala principal, un entrepiso y una sala lateral para el reproductor de música de alta fidelidad.
Mover el viewport del usuario por el mundo suele provocar molestias. En WebVR Lab, permitimos que el usuario destaque una ubicación y haga clic para teletransportarse al instante. El punto de vista del usuario nunca se mueve y, por lo tanto, a pesar de la sensación algo poco natural de moverse instantáneamente, el usuario puede moverse por un espacio grande sin molestias.
En el caso de un control de mano, exigimos que el usuario mantenga presionado un botón para activar el objetivo de teletransportación. Esto mantiene la visión del usuario despejada mientras mira a su alrededor.
Mover el punto de vista del usuario
A veces, es absolutamente necesario cambiar el punto de vista. Por ejemplo, cuando se usa la RV con el modo estático o el modo de RV sentado, es posible terminar frente a una pared sin la capacidad de girar en el mundo físico. Permitimos que el usuario gire la cámara con el control. En WebVR Lab, el uso del pad izquierdo o derecho del controlador de Daydream gira la cámara.
Para evitar molestias cuando muevemos la cámara de esta manera, reducimos la cantidad de visión periférica aplicando una vista restringida en toda la cámara. Esto se basa en el trabajo de Ubisoft y descubrimos que enfocar la vista solo en el centro de la pantalla reduce la molestia.
Activar
La activación equivale a hacer clic en un botón de una página web en RV. En WebVR Lab, tomamos esto literalmente y proporcionamos un botón simple que se puede activar.
Para 0 y 3 controles DOF, la activación consiste en destacar y hacer clic. En el caso de un control DOF de 6, podemos actualizar la experiencia para que puedas "presionar" un botón verificando directamente si el control de mano está dentro del botón.
Grab
WebVR Lab contiene varios elementos "grabables". Con este comportamiento, cuando el objeto se activa, puede tomarse y moverse. Hay dos comportamientos obvios y diferentes según el nivel de entrada que desees admitir.
En el caso de 6 controles DOF que mantengan presionado un botón de entrada, se conectará al control el elemento que se puede agarrar. Luego, se puede mover y posicionar con un control detallado. Si sueltas el botón, se activará una acción para combinar o soltar con el elemento.
En el caso de controladores menos maniobrables, un clic seleccionará el elemento y lo adjuntará al viewport del usuario. Por lo general, mantiene una sección del elemento visible en el "tercero inferior" de la pantalla. Si haces clic por segunda vez, el elemento se descartará o se combinará.
Combinar
Combinar es una acción que ocurre cuando "usas" un elemento con otro. Esto abarca una gran variedad de casos de uso. En WebVR Lab, lo usamos para reproducir discos en alta fidelidad. Cuando se agarra un elemento, es posible combinarlo con otro. Si todos los tipos de controles destacan el elemento de destino mientras tomas otro elemento y, luego, sueltas el elemento, se combinarán los dos elementos.
Eliminar o restablecer
Cuando se suelta un elemento, se hace clic en él mientras se mantiene presionado un elemento capturado sin ningún otro elemento destacado.
En WebVR Lab, mantuvimos los requisitos de rendimiento bajos, ya que no usamos una simulación física en ningún elemento. Eso significa que, en lugar de arrojar un elemento al suelo, simplemente permitimos que flote en la posición en la que lo soltó. Después de que se descarta un elemento, si no se activa dentro de un período determinado, se "restablecerá" en su ubicación original. Esta funcionalidad de restablecimiento permite que un usuario con un grado bajo de entrada (0 DOF o 3 DOF) opere en muchos elementos y mantenga un área de trabajo utilizable. Los elementos más antiguos se borrarán automáticamente.
Con una entrada DOF de 6, es más fácil quitar elementos. Tener un retraso en la operación de restablecimiento permite que un usuario de DOF 6 se sumerja en el movimiento de elementos de un lugar a otro, pero facilita la autolimpieza del área.
Resumen
WebVR Lab es un proyecto en vivo del equipo de PlayCanvas. Eso significa que está en desarrollo constante, y se agregan y actualizan experiencias a medida que investigamos más sobre la compilación de aplicaciones de WebVR.
Escala desde una experiencia para dispositivos móviles con estilo de "ventana mágica" hasta una zona de juegos interactiva en una computadora de escritorio. Comenzamos a definir un conjunto de interacciones principales que los usuarios pueden usar para sus propios proyectos. Esperamos que WebVR Lab sea una buena experiencia de aprendizaje para todos los que quieran crear mundos 3D con WebVR.
Si tienes una cuenta de PlayCanvas, puedes ingresar directamente al proyecto de WebVR Lab para obtener más información.