Compartir a través de


SpatialGestureRecognizer Clase

Definición

Interpreta las interacciones del usuario de las manos, los controladores de movimiento y los comandos de voz del sistema para exponer eventos de gestos espaciales, que los usuarios tienen como objetivo usar su mirada o un rayo que señala un controlador de movimiento.

public ref class SpatialGestureRecognizer sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.UI.Input.Spatial.ISpatialGestureRecognizerFactory, 131072, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SpatialGestureRecognizer final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.UI.Input.Spatial.ISpatialGestureRecognizerFactory), 131072, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SpatialGestureRecognizer
function SpatialGestureRecognizer(settings)
Public NotInheritable Class SpatialGestureRecognizer
Herencia
Object Platform::Object IInspectable SpatialGestureRecognizer
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10586.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v2.0)

Comentarios

Los gestos espaciales son una forma clave de entrada para Mixed Reality cascos como HoloLens. Al enrutar las interacciones de SpatialInteractionManager a SpatialGestureRecognizer de un holograma, las aplicaciones pueden detectar eventos Tap, Hold, Manipulation y Navigation uniformemente entre manos, voz y controladores de movimiento.

Tenga en cuenta que no se detectan gestos espaciales para la entrada de controladores para juegos, teclados o ratones.

SpatialGestureRecognizer solo realiza la desambiguación mínima entre el conjunto de gestos que solicita. Por ejemplo, si solo solicita Pulsar, el usuario puede mantener el dedo hacia abajo siempre que le guste y se seguirá produciendo una pulsación. Si solicitas pulsar y mantener pulsado, después de aproximadamente un segundo de mantener presionado el dedo, el gesto se promoverá a una suspensión y ya no se producirá una pulsación.

Para usar SpatialGestureRecognizer, controla el evento InteractionDetected de SpatialInteractionManager y toma el SpatialPointerPose expuesto allí. Use el rayo de mirada del usuario desde esta posición para intersecr con los hologramas y las mallas de superficie en los alrededores del usuario, con el fin de determinar con qué pretende interactuar el usuario. A continuación, enrute spatialInteraction en los argumentos de evento al spatialGestureRecognizer del holograma de destino mediante su método CaptureInteraction . Esto comienza a interpretar esa interacción según el conjunto SpatialGestureSettings en ese reconocedor en el momento de la creación o por TrySetGestureSettings.

Al seleccionar como destino una interacción espacial, como un gesto de mano, la presión del controlador de movimiento o la interacción de voz, las aplicaciones deben elegir un rayo que apunte disponible en el SpatialPointerPose de la interacción, en función de la naturaleza de SpatialInteractionSource de la interacción:

  • Si el origen de interacción no admite apuntar (IsPointingSupported es false), la aplicación debe dirigirse en función de la mirada del usuario, disponible a través de la propiedad Head .
  • Si el origen de interacción admite apuntar (IsPointingSupported es true), la aplicación puede dirigirse en su lugar en función de la posición del puntero del origen, disponible mediante el método TryGetInteractionSourcePose .

A continuación, la aplicación debe intersecar el rayo que señala con sus propios hologramas o con la malla de asignación espacial para representar cursores y determinar con qué pretende interactuar el usuario.

En el caso de las aplicaciones que usan el modelo de entrada de mirada y confirmación, especialmente en HoloLens (primera generación), SpatialGestureRecognizer se puede usar para habilitar gestos compuestos basados en el evento "select". Al enrutar las interacciones de SpatialInteractionManager a SpatialGestureRecognizer de un holograma, las aplicaciones pueden detectar eventos Tap, Hold, Manipulation y Navigation uniformemente entre manos, voz y dispositivos de entrada espacial, sin tener que controlar las pulsaciones y las versiones manualmente.

Constructores

SpatialGestureRecognizer(SpatialGestureSettings)

Inicializa un nuevo SpatialGestureRecognizer con la configuración de gestos especificada.

Propiedades

GestureSettings

Obtiene el objeto SpatialGestureSettings actual para este reconocedor.

Métodos

CancelPendingGestures()

Cancela todos los gestos en curso y abandona las interacciones capturadas.

CaptureInteraction(SpatialInteraction)

Realice un seguimiento de todos los eventos de entrada que se producen como parte de la interacción especificada.

TrySetGestureSettings(SpatialGestureSettings)

Intenta cambiar la configuración de gestos de este reconocedor.

Eventos

HoldCanceled

Se produce cuando se cancela un gesto de suspensión .

HoldCompleted

Se produce cuando se completa un gesto de suspensión .

HoldStarted

Se produce cuando una interacción se convierte en un gesto de suspensión .

ManipulationCanceled

Se produce cuando se cancela un gesto de manipulación .

ManipulationCompleted

Se produce cuando se completa un gesto de manipulación .

ManipulationStarted

Se produce cuando una interacción se convierte en un gesto de manipulación .

ManipulationUpdated

Se produce cuando se actualiza un gesto de manipulación debido al movimiento de la mano.

NavigationCanceled

Se produce cuando se cancela un gesto de navegación .

NavigationCompleted

Se produce cuando se completa un gesto de navegación .

NavigationStarted

Se produce cuando una interacción se convierte en un gesto de navegación .

NavigationUpdated

Se produce cuando se actualiza un gesto de navegación debido al movimiento de la mano o del controlador de movimiento.

RecognitionEnded

Se produce cuando finaliza el reconocimiento de gestos, debido a la finalización o cancelación de un gesto (este es el último evento que se desencadenará).

RecognitionStarted

Se produce cuando comienza el reconocimiento de gestos (este es el primer evento que se va a activar).

Tapped

Se produce cuando se reconoce un gesto Tap o DoubleTap.

Se aplica a

Consulte también