Kézmozdulatok – MRTK2
A kézmozdulatok emberi kézen alapuló bemeneti események. Az MRTK-ban kétféle eszköz emeli ki a kézmozdulat-beviteli eseményeket:
Windows Mixed Reality eszközöket, például a HoloLenst. Ez a becsípett mozgásokat ("Air Tap") és a tap-and-hold kézmozdulatokat ismerteti.
A HoloLens-kézmozdulatokkal kapcsolatos további információkért lásd a Windows Mixed Reality Kézmozdulatok dokumentációját.
WindowsMixedRealityDeviceManager
becsomagolja a Unity XR-t. WSA. Input.GestureRecognizer a Unity HoloLens-eszközökről származó kézmozdulat-eseményeinek felhasználásához.Érintőképernyős eszközök.
UnityTouchController
a fizikai érintőképernyőket támogató Unity Touch-osztályt burkolja.
Mindkét bemeneti forrás a Kézmozdulatbeállítások profillal fordítja le a Unity Érintéses és Kézmozdulatos eseményeit az MRTK bemeneti műveleteibe. Ez a profil az Input System Settings (Beviteli rendszer beállításai ) profil alatt található.
Kézmozdulatesemények
A kézmozdulat-eseményeket az egyik kézmozdulatkezelő felület implementálásával fogadjuk: IMixedRealityGestureHandler
vagy IMixedRealityGestureHandler<TYPE>
(lásd az eseménykezelők táblázatát).
A példajelenet egy kézmozdulat-eseménykezelő implementációját szemlélteti.
Az általános verzió implementálásakor az OnGestureCompleted és az OnGestureUpdated események a következő típusú beírt adatokat fogadhatják:
Vector2
- 2D pozíció kézmozdulat. Érintőképernyők készítik, hogy tájékoztassák őketdeltaPosition
.Vector3
- 3D pozíció kézmozdulat. Készítette: HoloLens:cumulativeDelta
egy manipulációs eseményrőlnormalizedOffset
navigációs eseményről
Quaternion
- Térbeli forgatási kézmozdulat. Egyéni bemeneti forrásokhoz érhető el, de jelenleg nem a meglévők állítják elő.MixedRealityPose
- Kombinált 3D pozíció/forgatás kézmozdulat. Egyéni bemeneti forrásokhoz érhető el, de jelenleg nem a meglévők állítják elő.
Események sorrendje
A felhasználói bemenettől függően két fő eseménylánc van:
"Hold":
- Tartsa lenyomva az ujját:
- manipuláció indítása
- Tartsa lenyomva a koppintást a HoldStartDuration elemen kívül:
- indítási visszatartás
- Kiadási koppintás:
- teljes visszatartás
- teljes manipuláció
- Tartsa lenyomva az ujját:
"Áthelyezés":
- Tartsa lenyomva az ujját:
- manipuláció indítása
- Tartsa lenyomva a koppintást a HoldStartDuration elemen kívül:
- indítási visszatartás
- Vigye a kezét a NavigationStartThreshold fölé:
- visszatartás megszakítása
- navigálás indítása
- Kiadási koppintás:
- teljes manipuláció
- teljes navigáció
- Tartsa lenyomva az ujját:
Példajelenet
A HandInteractionGestureEventsExample (Assets/MRTK/Examples/Demos/HandTracking/Scenes) jelenet bemutatja, hogyan lehet az Eredmény mutatóval objektumot létrehozni a találat helyén.
A GestureTester
(Assets/MRTK/Examples/Demos/HandTracking/Script) szkript példaként használható a kézmozdulat-események GameObjects használatával történő megjelenítésére. A kezelőfüggvények megváltoztatják a mutatóobjektumok színét, és megjelenítik az utolsó rögzített eseményt a jelenet szövegobjektumaiban.