SpatialGestureRecognizer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Interpreta le interazioni dell'utente da mani, controller di movimento e comandi vocali di sistema per visualizzare eventi di movimento spaziale, destinati agli utenti usando lo sguardo fisso o il raggio di puntamento di un controller di movimento.
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
- Ereditarietà
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10586.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v2.0)
|
Commenti
I movimenti spaziali sono una forma chiave di input per Realtà mista visori VR, ad esempio HoloLens. Instradando le interazioni da SpatialInteractionManager a spatialGestureRecognizer di un ologramma, le app possono rilevare gli eventi Tap, Hold, Manipulation e Navigation in modo uniforme tra mani, voce e controller del movimento.
Si noti che i movimenti spaziali non vengono rilevati per l'input da game pad, tastiere o mouse.
SpatialGestureRecognizer esegue solo la disambiguazione minima tra il set di movimenti richiesto. Ad esempio, se si richiede semplicemente Toccare, l'utente può tenere premuto il dito fino a quando piace e un tocco si verificherà comunque. Se richiedi sia Tap che Hold, dopo circa un secondo di tenere premuto il dito, il gesto promuoverà un blocco e un tocco non si verificherà più.
Per usare SpatialGestureRecognizer, gestire l'evento InteractionDetected di SpatialInteractionManager e afferrare SpatialPointerPose esposto. Usare il raggio dello sguardo fisso dell'utente da questa posizione per intersecare gli ologrammi e le mesh di superficie nell'ambiente circostante dell'utente, per determinare con quale utente intende interagire. Instradare quindi SpatialInteraction negli argomenti dell'evento all'ologramma di destinazione SpatialGestureRecognizer, usando il relativo metodo CaptureInteraction . Viene avviata l'interpretazione dell'interazione in base a SpatialGestureSettings impostata su tale sistema di riconoscimento in fase di creazione o da TrySetGestureSettings.
Quando la destinazione di un'interazione spaziale, ad esempio un gesto della mano, la pressione del controller di movimento o l'interazione vocale, le app devono scegliere un raggio di puntamento disponibile da SpatialPointerPose dell'interazione, in base alla natura dell'oggetto SpatialInteractionSource dell'interazione:
- Se l'origine di interazione non supporta il puntamento (IsPointingSupported è false), l'app deve essere impostata come destinazione in base allo sguardo fisso dell'utente, disponibile tramite la proprietà Head .
- Se l'origine di interazione supporta il puntamento (IsPointingSupported è true), l'app può invece essere impostata come destinazione in base alla posizione del puntatore dell'origine, disponibile tramite il metodo TryGetInteractionSourcePose .
L'app dovrebbe quindi intersecare il raggio di puntamento scelto con i propri ologrammi o con la mesh di mapping spaziale per eseguire il rendering dei cursori e determinare con quale utente intende interagire.
Per le applicazioni che usano il modello di input con sguardo fisso e commit, in particolare in HoloLens (prima generazione), SpatialGestureRecognizer può essere usato per abilitare i movimenti compositi basati sull'evento 'select'. Instradando le interazioni da SpatialInteractionManager a un ologramma SpatialGestureRecognizer, le app possono rilevare gli eventi Tap, Hold, Manipulation e Navigation in modo uniforme tra mani, voce e input spaziale, senza dover gestire manualmente le pressioni e i rilasci.
Costruttori
SpatialGestureRecognizer(SpatialGestureSettings) |
Inizializza un nuovo elemento SpatialGestureRecognizer con le impostazioni del movimento specificate. |
Proprietà
GestureSettings |
Ottiene l'oggetto SpatialGestureSettings corrente per questo sistema di riconoscimento. |
Metodi
CancelPendingGestures() |
Annulla tutti i movimenti in corso e abbandona tutte le interazioni acquisite. |
CaptureInteraction(SpatialInteraction) |
Tenere traccia di tutti gli eventi di input che si verificano come parte dell'interazione specificata. |
TrySetGestureSettings(SpatialGestureSettings) |
Tenta di modificare le impostazioni del movimento per questo riconoscitore. |
Eventi
HoldCanceled |
Si verifica quando un movimento di blocco viene annullato. |
HoldCompleted |
Si verifica al completamento di un gesto di blocco . |
HoldStarted |
Si verifica quando un'interazione diventa un movimento di blocco . |
ManipulationCanceled |
Si verifica quando un movimento di manipolazione viene annullato. |
ManipulationCompleted |
Si verifica quando viene completato un movimento di manipolazione . |
ManipulationStarted |
Si verifica quando un'interazione diventa un movimento di manipolazione . |
ManipulationUpdated |
Si verifica quando un movimento di manipolazione viene aggiornato a causa del movimento della mano. |
NavigationCanceled |
Si verifica quando un movimento di spostamento viene annullato. |
NavigationCompleted |
Si verifica al completamento di un movimento di spostamento . |
NavigationStarted |
Si verifica quando un'interazione diventa un movimento di spostamento . |
NavigationUpdated |
Si verifica quando un movimento di spostamento viene aggiornato a causa del movimento della mano o del controller del movimento. |
RecognitionEnded |
Si verifica al termine del riconoscimento dei movimenti, a causa del completamento o dell'annullamento di un movimento (questo è l'ultimo evento da attivare). |
RecognitionStarted |
Si verifica all'inizio del riconoscimento dei movimenti (si tratta del primo evento da attivare). |
Tapped |
Si verifica quando viene riconosciuto un movimento Tap o DoubleTap. |