Condividi tramite


SpatialGestureRecognizer Classe

Definizione

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à
Object Platform::Object IInspectable SpatialGestureRecognizer
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.

Si applica a

Vedi anche