SpatialGestureRecognizer Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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. |