Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los gestos son eventos de entrada basados en manos humanas. Hay dos tipos de dispositivos que generan eventos de entrada de gestos en MRTK:
Windows Mixed Reality dispositivos como HoloLens. Esto describe los movimientos de pellizco ("Toque de aire") y los gestos de pulsación y suspensión.
Para obtener más información sobre los gestos de HoloLens, consulte la documentación de gestos de Windows Mixed Reality.
WindowsMixedRealityDeviceManagerencapsula el XR de Unity. WSA. Input.GestureRecognizer para consumir eventos de gestos de Unity desde dispositivos HoloLens.Dispositivos de pantalla táctil.
UnityTouchControllerencapsula la clase Touch de Unity que admite pantallas táctiles físicas.
Ambos orígenes de entrada usan el perfil Configuración de gestos para traducir los eventos Touch y Gesture de Unity respectivamente en acciones de entrada de MRTK. Este perfil se puede encontrar en el perfil Configuración del sistema de entrada .
Eventos de gestos
Los eventos de gestos se reciben mediante la implementación de una de las interfaces de controlador de gestos: IMixedRealityGestureHandler o IMixedRealityGestureHandler<TYPE> (vea la tabla de controladores de eventos).
Consulte Escena de ejemplo para obtener una implementación de ejemplo de un controlador de eventos de gestos.
Al implementar la versión genérica, los eventos OnGestureCompleted y OnGestureUpdated pueden recibir datos con tipo de los siguientes tipos:
-
Vector2- Gesto de posición 2D. Producido por pantallas táctiles para informar de sudeltaPosition. -
Vector3- Gesto de posición 3D. Producido por HoloLens para informar de:-
cumulativeDeltade un evento de manipulación -
normalizedOffsetde un evento de navegación
-
-
Quaternion- Gesto de rotación 3D. Disponible para orígenes de entrada personalizados, pero no producidos actualmente por ninguno de los existentes. -
MixedRealityPose- Gesto combinado de posición/rotación 3D. Disponible para orígenes de entrada personalizados, pero no producidos actualmente por ninguno de los existentes.
Orden de los eventos
Hay dos cadenas principales de eventos, según la entrada del usuario:
"Hold":
- Mantenga presionada la tecla :
- iniciar manipulación
- Mantenga pulsado más allá de HoldStartDuration:
- iniciar suspensión
- Toque de versión:
- suspensión completa
- Manipulación completa
- Mantenga presionada la tecla :
"Mover":
- Mantenga presionada la tecla :
- iniciar manipulación
- Mantenga pulsado más allá de HoldStartDuration:
- iniciar suspensión
- Mueva la mano más allá de NavigationStartThreshold:
- cancelar suspensión
- iniciar navegación
- Toque de versión:
- Manipulación completa
- navegación completa
- Mantenga presionada la tecla :
Escena de ejemplo
La escena HandInteractionGestureEventsExample (Assets/MRTK/Examples/Demos/HandTracking/Scenes) muestra cómo usar el puntero Result para generar un objeto en la ubicación de aciertos.
El GestureTester script (Assets/MRTK/Examples/Demos/HandTracking/Script) es una implementación de ejemplo para visualizar eventos de gestos a través de GameObjects. Las funciones del controlador cambian el color de los objetos de indicador y muestran el último evento registrado en objetos de texto de la escena.