Bewegingen — MRTK2

Bewegingen zijn invoergebeurtenissen op basis van menselijke handen. Er zijn twee typen apparaten die invoergebeurtenissen voor bewegingen in MRTK genereren:

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 .

Gebaarprofiel

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 hun deltaPosition.
  • Vector3 - 3D-positiebeweging. Geproduceerd door HoloLens om te informeren over:
  • 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":

    1. Tikken in de wachtstand:
      • manipulatie starten
    2. Houd tikken voorbij HoldStartDuration:
      • wachtstand starten
    3. Tik op release:
      • voltooien van bewaring
      • volledige manipulatie
  • "Verplaatsen":

    1. Tikken in de wachtstand:
      • manipulatie starten
    2. Houd tikken voorbij HoldStartDuration:
      • wachtstand starten
    3. Hand voorbij NavigationStartThreshold:
      • bewaring annuleren
      • navigatie starten
    4. Tik op release:
      • volledige manipulatie
      • navigatie voltooien

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.