Movimenti - MRTK2

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

Entrambe queste origini di input usano il profilo Impostazioni movimento per tradurre rispettivamente gli eventi Touch e Gesture di Unity nelle azioni di input di MRTK. Questo profilo è disponibile nel profilo Impostazioni di sistema di input .

Profilo di movimento

Eventi per i movimenti

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

Vedere Scena di esempio per un'implementazione di un gestore eventi di movimento.

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

  • Vector2 - Movimento di posizione 2D. Prodotti da schermi touch per informare il loro deltaPosition.
  • Vector3 - Movimento di posizione 3D. Prodotto da HoloLens per informare:
  • Quaternion - Movimento di rotazione 3D. Disponibile per origini di input personalizzate, ma attualmente non prodotte da nessuno dei tipi esistenti.
  • MixedRealityPose - Movimento di posizione/rotazione 3D combinato. Disponibile per origini di input personalizzate, ma attualmente non prodotte da nessuno dei tipi esistenti.

Ordine degli eventi

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

  • "Hold":

    1. Tieni premuto il tocco:
      • Start Manipulation
    2. Tieni premuto il tocco oltre HoldStartDuration:
      • avviare Il blocco
    3. Tocca rilascio:
      • blocco completo
      • modifica completa
  • "Sposta":

    1. Tieni premuto il tocco:
      • Start Manipulation
    2. Tieni premuto il tocco oltre HoldStartDuration:
      • avviare Il blocco
    3. Passare la mano oltre NavigationStartThreshold:
      • annullare il blocco
      • avviare la navigazione
    4. Tocca rilascio:
      • modifica completa
      • spostamento completo

Scena di esempio

La scena HandInteractionGestureEventsExample (Assets/MRTK/Examples/Demos/HandTracking/Scenes) mostra come usare il puntatore Result 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 GameObjects. Le funzioni del gestore modificano il colore degli oggetti indicatore e visualizzano l'ultimo evento registrato negli oggetti di testo nella scena.