Gesta – MRTK2
Gesta jsou vstupní události založené na lidských rukou. Existují dva typy zařízení, která v MRTK vyvolávají události zadávání gest:
Zařízení s Windows Mixed Reality, jako je HoloLens. Popisuje pohyby připnutím ("Air Tap") a gesty klepnutí a přidržení.
Další informace o gestech HoloLens najdete v dokumentaci k gestům Windows Mixed Reality.
WindowsMixedRealityDeviceManager
zabalí Unity XR. WSA. Input.GestureRecognizer pro využívání událostí gest Unity ze zařízení HoloLens.Zařízení s dotykovou obrazovkou.
UnityTouchController
zabalí třídu Unity Touch, která podporuje fyzické dotykové obrazovky.
Oba tyto vstupní zdroje používají profil Gesto Nastavení k překladu událostí dotykového ovládání a gest Unity do vstupních akcí MRTK. Tento profil najdete v profilu vstupního systému Nastavení.
Události gest
Události gest se přijímají implementací jednoho z rozhraní obslužných rutin gest: IMixedRealityGestureHandler
nebo IMixedRealityGestureHandler<TYPE>
(viz tabulka obslužných rutin událostí).
Příklad scény příklad implementace obslužné rutiny události gest.
Při implementaci obecné verze mohou události OnGestureCompleted a OnGestureUpdated přijímat typová data následujících typů:
Vector2
- Gesto pozice 2D. Vyrobeno dotykovou obrazovkou informovat o jejichdeltaPosition
.Vector3
- Gesto pozice 3D. Vyrábí HoloLens s cílem informovat:cumulativeDelta
události manipulacenormalizedOffset
události navigace
Quaternion
- Gesto otočení 3D. K dispozici pro vlastní vstupní zdroje, ale aktuálně neprodukované žádnými z existujících zdrojů.MixedRealityPose
- Kombinované 3D gesto pozice/otočení. K dispozici pro vlastní vstupní zdroje, ale aktuálně neprodukované žádnými z existujících zdrojů.
Pořadí událostí
V závislosti na vstupu uživatele existují dva hlavní řetězy událostí:
"Blokování":
- Přidržte klepnutí:
- spustit manipulaci
- Podržte klepnutí nad rámec HoldStartDuration:
- spustit blokování
- Klepnutí na verzi:
- complete Hold
- kompletní manipulace
- Přidržte klepnutí:
"Přesunout":
- Přidržte klepnutí:
- spustit manipulaci
- Podržte klepnutí nad rámec HoldStartDuration:
- spustit blokování
- Přesuňte ruku za NavigationStartThreshold:
- zrušit blokování
- spustit navigaci
- Klepnutí na verzi:
- kompletní manipulace
- úplná navigace
- Přidržte klepnutí:
Příklad scény
Scéna HandInteractionGestureEventsExample (Assets/MRTK/Examples/Demos/HandTracking/Scene) ukazuje, jak použít výsledek ukazatele k vytvoření objektu v umístění hitu.
Skript GestureTester
(Assets/MRTK/Examples/Demos/HandTracking/Script) je ukázková implementace pro vizualizaci událostí gest přes GameObjects. Funkce obslužné rutiny mění barvu objektů indikátoru a zobrazují poslední zaznamenané události v textových objektech ve scéně.