El diseño e implementación del seguimiento manual en 'Myst' PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El diseño e implementación del seguimiento manual en 'Myst'

Usar API de seguimiento de manos mejorada de Presence Platform, presentamos Hand Tracking con nuestra actualización más reciente a Myst en la plataforma Meta Quest, titulado 'Hands & More'. Estamos muy emocionados de finalmente dejar que la gente juegue Myst en Quest sin controladores físicos! En esta publicación, discutiremos la evolución y la iteración de implementar el seguimiento manual en Myst—y, en particular, agregando más soporte para él en Unreal Engine 4.27.2.

El diseño e implementación del seguimiento manual en 'Myst' PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Artículo invitado de Hannah Gamiel

Hannah Gamiel es directora de desarrollo de Cian—el estudio detrás del original 'místico juegos—y ayudó a desarrollar el nuevo 'mista (2020)' que incluye soporte de realidad virtual. Originariamente con una formación puramente técnica, ahora ayuda a liderar la producción de todos los títulos y gestiona los esfuerzos comerciales y tecnológicos en Cyan. Ha trabajado en títulos como 'Myst' (2020), 'The Witness', 'Braid, Anniversary Edition', 'Obduction', 'Firmament' (¡próximamente!) y más.

Fase de diseño y consideraciones

Diseño de navegación para seguimiento manual

Imagen que indica a dónde te gustaría ir. Probablemente pensaste en señalar, ¿verdad? Es por eso que optamos por utilizar un método de 'señalar' para el movimiento en Myst.

Cuando estás en el modo de teletransporte, puedes señalar a dónde te gustaría ir y el anillo de teletransporte aparece en tu destino. Cuando 'des-apuntas' (extendiendo el resto de tus dedos, o simplemente tirando de tu dedo índice hacia tu palma), se ejecuta el teletransporte.

Cuando esté en el modo de movimiento suave, señalar con su mano dominante de movimiento libre (que se puede configurar en la configuración de nuestros controles, pero es la mano izquierda de manera predeterminada) comenzará a moverlo suavemente en la dirección que está señalando.

Al probar el movimiento al señalar, descubrimos que el seguimiento de la mano a veces puede ser poco confiable con el dedo índice y el dedo medio cuando está ocluido por el resto de la mano. El sistema no está seguro de si esos dedos apuntan completamente o si están completamente "encerrados" en su mano. Agregamos un poco de un factor de 'fudge' al código para dar cuenta de una iniciación/ejecución de movimiento más estable en este frente, que abordaremos un poco más adelante cuando discutamos los cambios realizados en el seguimiento manual listo para usar. soporte en Unreal Engine.

Turning

El método de 'punto' no funciona para todos los usos de navegación. Cuando se trata de girar, inicialmente combinamos el apuntar con la rotación de la muñeca. La comparación de la muñeca del jugador y el vector de avance de la cámara indicaría la dirección del giro (y qué tan grande debería ser el giro). Probamos esto inicialmente porque parecía intuitivo mantener el tema de "señalamiento" para la navegación entre todos los modos.

Sin embargo, surgieron complicaciones en las pruebas de comodidad. En las pruebas de juego, la mayoría de los jugadores señalarían hacia adelante con la palma de la mano hacia el suelo, como probablemente se haría al intentar señalar algo fuera del juego. Girar la muñeca hacia la izquierda y hacia la derecha (alrededor del eje superior de la muñeca) mientras tiene la palma de la mano hacia el suelo es un desafío y tiene un rango de movimiento muy limitado, especialmente si trata de alejarse de su pecho.

Este problema es el mismo incluso si le pides a un jugador que señale algo frente a él con las palmas de las manos hacia adentro. Puedes doblar la muñeca hacia adentro hacia tu cuerpo un poco, pero no obtendrás el mismo rango de movimiento doblando tu muñeca lejos de tu cuerpo.

Entonces, ¿cómo solucionamos esto? Terminamos asignando el giro a un gesto de 'pulgar hacia arriba' en lugar de un gesto de señalar con el dedo.

Imagina dar un pulgar hacia arriba. Ahora gira tu muñeca a derecha e izquierda. Tenga en cuenta que a pesar de que no tiene un gran rango de movimiento, todavía es bastante consistente señalar 'izquierda' o 'derecha' con el pulgar en este gesto.

Esto es lo que decidimos para activar el modo de seguimiento manual. Aunque apuntar con el pulgar no parece la forma más intuitiva de girar, es sí logró termina siendo la forma más cómoda y consistente de hacerlo.

Con el giro rápido, al girar la muñeca hacia la izquierda o hacia la derecha desde una posición con el pulgar hacia arriba, se inicia un único giro rápido. A continuación, debe devolver la mano a la posición 'central' (hacia arriba) para restablecer el chasquido y, además, esperar a que se produzca un tiempo de reutilización muy corto para iniciar un giro chasquido de nuevo.

Con un giro suave, girar la muñeca con el pulgar hacia arriba comenzará a girar hacia la izquierda o hacia la derecha, una vez que salga de una "zona muerta" que evita que se produzca un giro hasta que pase el umbral.

Manejo de conflictos entre el movimiento y las poses de interacción de objetos

Por supuesto, señalar con el dedo es un gesto demasiado amplio como para suponer que solo se usa para navegar. Las personas harán el mismo gesto de señalar para presionar botones o interactuar con otras cosas en el mundo solo por costumbre o por sus propias expectativas. Sería bastante discordante caminar hasta (pero no Derecho hasta) un botón, apunte con el dedo para presionarlo y, de repente (y sin querer), acérquese a él en el juego (o inicie un teletransporte sin querer).

La forma en que evitamos que ocurra movimiento mientras el jugador puede estar interactuando con algo es evitando que cualquier código de movimiento se dispare cuando la mano que hace el gesto de "mover" está dentro de un cierto rango de un objeto interactuable. Este rango se ha ajustado varias veces para llegar a un buen "punto óptimo" según las pruebas de juego.

Hemos encontrado que este punto óptimo está a unos 25 cm de la ubicación espacial del hueso de la punta del dedo índice. Myst está lleno de objetos interactivos de varios tamaños (desde pequeños botones hasta palancas muy grandes) colocados tanto en espacios abiertos como en pasillos estrechos, por lo que nos costó un poco de prueba decidirnos por este número. Inicialmente probamos 60 cm (unos dos pies), pero eso impedía que ocurriera el movimiento cuando los jugadores aún necesitaban acercarse a un objeto. Del mismo modo, cualquier cosa por debajo de los 25 cm provocaba que se activara un movimiento no deseado del jugador cuando los jugadores intentaban agarrar o tocar un objeto.

Una de nuestras mejores áreas de prueba fue la sala del generador en Myst Island, donde atraviesas una entrada estrecha y luego te recibe inmediatamente un panel lleno de botones. Cuando el área de prueba de interacción era demasiado grande, los jugadores no podían moverse a través de la entrada y hacia el panel porque detectaba botones dentro del alcance del dedo índice.

Dicho esto, 25 cm es lo que funcionó específicamente para Myst. Es posible que otros juegos necesiten ajustar este número si quieren implementar algo similar, con sus propios criterios en mente.

Diseño de interacciones de objetos para el seguimiento de manos

En este momento, todas las interacciones capturables en Myst están diseñados para funcionar con el seguimiento manual: girar válvulas, abrir puertas, presionar botones, pasar páginas de libros, etc.

Las interacciones aprovechan lo que ya habíamos configurado para Myst con controladores táctiles. Allí, al presionar el botón de agarre, se fusiona automáticamente la representación de malla del juego de tu mano en una pose "agarrada", ya sea poniendo tu mano en un puño (si está vacío) o agarrando un objeto. Con el seguimiento manual, hemos agregado un código que hará una suposición calificada de cuándo ha curvado los dedos lo suficiente como para "agarrar" algo e iniciar la misma lógica que se mencionó anteriormente.

Por ejemplo, cuando usa el seguimiento manual y su mano se desplaza sobre algo que se puede agarrar, el color de su mano se vuelve naranja (esto es exactamente lo que sucede cuando no usa el seguimiento manual en Myst RV también). Cuando agarra un objeto interactuable comenzando a cerrar los dedos en un puño, una esfera naranja reemplaza la malla de su mano y representa el lugar donde la mano está unida al objeto.

La razón por la que optamos por este método en lugar de hacer mallas articuladas personalizadas para sus manos, o permitir que sus manos/dedos parecieran interactuar físicamente con partes de estos objetos, es porque queríamos que las interacciones estuvieran a la par con lo que ofrecemos en el lado del controlador táctil por ahora.

Sin embargo, presionar botones funciona de manera diferente. No hay necesidad de abstracción, ya que los botones no son objetos que se puedan agarrar y, en su lugar, le permitimos simplemente presionar un botón usando colisionadores de cápsulas generados entre cada una de las articulaciones de los dedos en la malla de mano articulada. Gracias a esto, puedes hacer todo tipo de cosas extrañas y divertidas, como usar solo el dedo meñique o el nudillo del dedo anular para interactuar con cada botón del juego, si realmente lo deseas.

Esta implementación difiere ligeramente de la forma en que los controladores táctiles interactúan con los botones en el juego, ya que generalmente esperamos que los jugadores usen el botón de agarre en su controlador para configurar la mano para que sea una malla de 'señalar con el dedo' para obtener un botón preciso en el juego. presione en su extremo. Con el seguimiento de la mano, obviamente hay una flexibilidad significativamente mayor en la pose que puede crear con la mano y, por lo tanto, muchas más formas de presionar botones con el mismo nivel de precisión.

Interacciones de menú/interfaz de usuario

Para interactuar con los menús, terminamos usando el mismo paradigma de interacción que usa Meta para la plataforma Quest: un pellizco de dos dedos entre el pulgar y el índice, en cualquier mano. Esto se puede usar tanto para abrir nuestro menú en el juego como para interactuar con elementos en el menú. ¡No tiene sentido reinventar la rueda aquí cuando a los jugadores ya se les enseña a hacer esto en los menús del nivel del sistema operativo cuando habilitan por primera vez el seguimiento manual en Quest!

Comunicar todo esto al jugador

Debido a que el seguimiento de manos no es una entrada tan común en los controladores Quest como Touch, y porque puede haber algunas personas jugando Myst por primera vez (¡o incluso jugando su primer juego de realidad virtual!), tratamos de ser considerados con la forma en que comunicamos toda esta información sobre el seguimiento de manos al jugador. Nos aseguramos de incluir otra versión de nuestro "diagrama de controlador" diseñado específicamente para describir las interacciones de seguimiento manual (cuando está habilitado en Myst), y mostramos al jugador notificaciones especializadas que le indican exactamente cómo moverse con las manos.

Además, pensamos que sería vital recordarle al jugador cómo tener una experiencia de seguimiento de manos fluida, una vez habilitada. El jugador es notificado en Mystde que la estabilidad del seguimiento de las manos es mucho mejor si se aseguran de estar en una habitación bien iluminada y de mantener las manos dentro de su campo de visión.

Meta también informa a los jugadores que estos son clave para un entorno de seguimiento de manos bien rastreado, pero reconocemos que algunos jugadores pueden saltar a un juego sin haber analizado primero los avisos de Meta sobre esto, por lo que hemos elegido recordárselo a la gente en caso de que lo olviden.

Continuar en la página 2: Modificaciones del motor realizadas en Unreal »

Sello de tiempo:

Mas de Camino a la realidad virtual