Movimenti

I movimenti sono eventi di input basati su mani umane. Esistono due tipi di dispositivi che generano eventi di input di movimento in MRTK:

Entrambe queste origini di input usano il profilo Impostazioni movimenti per convertire rispettivamente gli eventi di tocco e movimento di Unity nelle azioni di inputdi MRTK. Questo profilo si trova nel profilo Impostazioni sistema di input .

Gesture Profile

Eventi per i movimenti

Gli eventi di movimento vengono ricevuti implementando una delle interfacce del gestore movimenti: IMixedRealityGestureHandler o IMixedRealityGestureHandler<TYPE> (vedere la tabella dei gestori eventi).

Vedere la scena di esempio per un'implementazione di esempio di un gestore eventi di movimento.

Quando si implementa la versione generica, gli eventi OnGestureCompleted e OnGestureUpdated possono ricevere dati tipizzati dei tipi seguenti:

  • Vector2 -movimento di posizione 2D. Prodotto da touch screen per informarli deltaPosition .
  • Vector3 -movimento di posizione 3D. Prodotto da HoloLens per informare:
  • Quaternion -movimento di rotazione 3D. Disponibile per le origini di input personalizzate ma non per quelle esistenti.
  • MixedRealityPose -Movimento di posizione/rotazione 3D combinato. Disponibile per le origini di input personalizzate ma non per quelle esistenti.

Ordine degli eventi

Esistono due catene principali di eventi, a seconda dell'input dell'utente:

  • "Mantieni":

    1. Tieni premuto il tocco:
      • Avvia manipolazione
    2. Mantieni il tocco oltre HoldStartDuration:
      • inizio attesa
    3. Toccare versione:
      • completa attesa
      • manipolazione completa
  • "Sposta":

    1. Tieni premuto il tocco:
      • Avvia manipolazione
    2. Mantieni il tocco oltre HoldStartDuration:
      • inizio attesa
    3. Spostare la mano oltre NavigationStartThreshold:
      • Annulla attesa
      • Avvia spostamento
    4. Toccare versione:
      • manipolazione completa
      • navigazione completa

Scena di esempio

La scena HandInteractionGestureEventsExample (assets/MRTK/examples/Demos/HandTracking/scenes) Mostra come usare il risultato del puntatore per generare un oggetto nella posizione di hit.

Lo GestureTester script (assets/MRTK/examples/Demos/HandTracking/script) è un'implementazione di esempio per visualizzare gli eventi di movimento tramite GameObject. Le funzioni del gestore modificano il colore degli oggetti indicatore e visualizzano l'ultimo evento registrato negli oggetti testo della scena.