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:
Windows Mixed Reality dispositivi come HoloLens. In questo modo vengono descritti i movimenti di pizzicamento ("Air Tap") e i movimenti tap-and-hold.
Per altre informazioni sui movimenti di HoloLens, vedere la documentazione Windows Mixed Reality Gestures.
WindowsMixedRealityDeviceManager
esegue il wrapping di Unity XR. WSA. Input.GestureRecognizer per usare gli eventi di movimento di Unity dai dispositivi HoloLens.Dispositivi touch screen.
UnityTouchController
esegue il wrapping della classe Unity Touch che supporta schermi touch fisici.
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 .
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 lorodeltaPosition
.Vector3
- Movimento di posizione 3D. Prodotto da HoloLens per informare:cumulativeDelta
di un evento di manipolazionenormalizedOffset
di un evento di spostamento
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":
- Tieni premuto il tocco:
- Start Manipulation
- Tieni premuto il tocco oltre HoldStartDuration:
- avviare Il blocco
- Tocca rilascio:
- blocco completo
- modifica completa
- Tieni premuto il tocco:
"Sposta":
- Tieni premuto il tocco:
- Start Manipulation
- Tieni premuto il tocco oltre HoldStartDuration:
- avviare Il blocco
- Passare la mano oltre NavigationStartThreshold:
- annullare il blocco
- avviare la navigazione
- Tocca rilascio:
- modifica completa
- spostamento completo
- Tieni premuto il tocco:
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.