Movimenti - MRTK2
I movimenti sono eventi di input basati sulle mani umane. Esistono due tipi di dispositivi che generano eventi di input del movimento in MRTK:
Dispositivi Windows Realtà mista come HoloLens. Questo descrive i movimenti di avvicinamento delle dita ("Tocco aria") e i movimenti di tocco e blocco.
Per altre informazioni sui movimenti di HoloLens, vedere la documentazione relativa ai movimenti di Windows Realtà mista.
WindowsMixedRealityDeviceManager
esegue il wrapping di Unity XR. WSA. Input.GestureRecognizer per utilizzare gli eventi di movimento di Unity dai dispositivi HoloLens.Dispositivi touch screen.
UnityTouchController
esegue il wrapping della classe Unity Touch che supporta gli schermi di tocco fisici.
Entrambe queste origini di input usano il profilo di movimento Impostazioni per convertire rispettivamente gli eventi Touch e Gesture di Unity nelle azioni di input di MRTK. Questo profilo è disponibile nel profilo di Impostazioni del sistema di input.
Eventi di movimento
Gli eventi di movimento vengono ricevuti implementando una delle interfacce del gestore movimenti: IMixedRealityGestureHandler
o (vedere la tabella dei gestori eventi).IMixedRealityGestureHandler<TYPE>
Per un esempio di implementazione di un gestore eventi di movimento, vedere La scena di esempio.
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 informare il lorodeltaPosition
.Vector3
- Movimento di posizione 3D. Prodotto da HoloLens per informare:cumulativeDelta
di un evento di manipolazionenormalizedOffset
di un evento di navigazione
Quaternion
- Movimento di rotazione 3D. Disponibile per origini di input personalizzate, ma non attualmente prodotte da quelle esistenti.MixedRealityPose
- Movimento combinato di posizione/rotazione 3D. Disponibile per origini di input personalizzate, ma non attualmente prodotte da quelle esistenti.
Ordine degli eventi
Esistono due catene principali di eventi, a seconda dell'input dell'utente:
"Hold":
- Tenere premuto il tocco:
- avvio manipolazione
- Tenere premuto il tocco oltre HoldStartDuration:
- avvio blocco
- Tocco di rilascio:
- blocco completo
- manipolazione completa
- Tenere premuto il tocco:
"Move":
- Tenere premuto il tocco:
- avvio manipolazione
- Tenere premuto il tocco oltre HoldStartDuration:
- avvio blocco
- Spostarsi oltre NavigationStartThreshold:
- annullamento blocco
- avviare la navigazione
- Tocco di rilascio:
- manipolazione completa
- Spostamento completo
- Tenere 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.