Bewegingen — MRTK2
Bewegingen zijn invoergebeurtenissen op basis van menselijke handen. Er zijn twee typen apparaten die invoergebeurtenissen voor bewegingen in MRTK genereren:
Windows Mixed Reality apparaten zoals HoloLens. Dit beschrijft knijpbewegingen ('Air Tap') en bewegingen voor tikken en vasthouden.
Zie de documentatie Windows Mixed Reality Gestures voor meer informatie over HoloLens-bewegingen.
WindowsMixedRealityDeviceManager
verpakt de Unity XR. WSA. Input.GestureRecognizer om gebaargebeurtenissen van Unity van HoloLens-apparaten te gebruiken.Apparaten met aanraakscherm.
UnityTouchController
verpakt de Unity Touch-klasse die ondersteuning biedt voor fysieke aanraakschermen.
Beide invoerbronnen gebruiken het profiel Gebaarinstellingen om respectievelijk de aanraak- en gebarengebeurtenissen van Unity om te zetten in mrtk-invoeracties. Dit profiel vindt u onder het profiel Invoersysteeminstellingen .
Gebaargebeurtenissen
Gebarengebeurtenissen worden ontvangen door het implementeren van een van de gebarenhandlerinterfaces: IMixedRealityGestureHandler
of IMixedRealityGestureHandler<TYPE>
(zie de tabel met gebeurtenis-handlers).
Zie Voorbeeldscène voor een voorbeeld van een implementatie van een gebeurtenis-handler voor bewegingen.
Bij het implementeren van de algemene versie kunnen de gebeurtenissen OnGestureCompleted en OnGestureUpdated getypte gegevens van de volgende typen ontvangen:
Vector2
- 2D-positiebeweging. Geproduceerd door aanraakschermen om te informeren over hundeltaPosition
.Vector3
- 3D-positiebeweging. Geproduceerd door HoloLens om te informeren over:cumulativeDelta
van een manipulatie-gebeurtenisnormalizedOffset
van een navigatie-gebeurtenis
Quaternion
- 3D-draaibeweging. Beschikbaar voor aangepaste invoerbronnen, maar momenteel niet geproduceerd door een van de bestaande.MixedRealityPose
- Gecombineerde 3D-positie/draaibeweging. Beschikbaar voor aangepaste invoerbronnen, maar momenteel niet geproduceerd door een van de bestaande.
Volgorde van gebeurtenissen
Er zijn twee belangrijke ketens van gebeurtenissen, afhankelijk van gebruikersinvoer:
"Wachtstand":
- Tikken in de wachtstand:
- manipulatie starten
- Houd tikken voorbij HoldStartDuration:
- wachtstand starten
- Tik op release:
- voltooien van bewaring
- volledige manipulatie
- Tikken in de wachtstand:
"Verplaatsen":
- Tikken in de wachtstand:
- manipulatie starten
- Houd tikken voorbij HoldStartDuration:
- wachtstand starten
- Hand voorbij NavigationStartThreshold:
- bewaring annuleren
- navigatie starten
- Tik op release:
- volledige manipulatie
- navigatie voltooien
- Tikken in de wachtstand:
Voorbeeldscène
De scène HandInteractionGestureEventsExample (Assets/MRTK/Examples/Demos/HandTracking/Scenes) laat zien hoe u de aanwijzer Result gebruikt om een object op de locatie van de hit te genereren.
Het GestureTester
script (Assets/MRTK/Examples/Demos/HandTracking/Script) is een voorbeeld van een implementatie om gebaargebeurtenissen te visualiseren via GameObjects. De handlerfuncties wijzigen de kleur van indicatorobjecten en geven de laatst opgenomen gebeurtenis weer in tekstobjecten in de scène.