Dela via


Gester – MRTK2

Gester är indatahändelser baserade på mänskliga händer. Det finns två typer av enheter som genererar gestindatahändelser i MRTK:

Båda dessa indatakällor använder profilen Gest Inställningar för att översätta Unitys touch- respektive gesthändelser till MRTK:s indataåtgärder. Den här profilen finns under profilen Indatasystem Inställningar.

Gestprofil

Gesthändelser

Gesthändelser tas emot genom att implementera ett av gesthanterargränssnitten: IMixedRealityGestureHandler eller IMixedRealityGestureHandler<TYPE> (se tabell med händelsehanterare).

Se Exempelscen för ett exempel på implementering av en gesthändelsehanterare.

När du implementerar den allmänna versionen kan händelserna OnGestureCompleted och OnGestureUpdated ta emot typinskrivna data av följande typer:

  • Vector2 - 2D-positionsgest. Producerad av pekskärmar för att informera om deras deltaPosition.
  • Vector3 - 3D-positionsgest. Producerad av HoloLens för att informera om:
  • Quaternion - 3D-rotationsgest. Tillgänglig för anpassade indatakällor men inte för närvarande producerad av någon av de befintliga.
  • MixedRealityPose - Kombinerad 3D-position/rotationsgest. Tillgänglig för anpassade indatakällor men inte för närvarande producerad av någon av de befintliga.

Händelseordning

Det finns två huvudkedjor med händelser, beroende på användarens indata:

  • "Hold":

    1. Håll ned tryck:
      • starta manipulation
    2. Håll ned tryckningen bortom HoldStartDuration:
      • starta Undantag
    3. Släpp tryck:
      • fullständigt undantag
      • fullständig manipulering
  • "Flytta":

    1. Håll ned tryck:
      • starta manipulation
    2. Håll ned tryckningen bortom HoldStartDuration:
      • starta Undantag
    3. Flytta handen bortom NavigeringStartThreshold:
      • avbryt undantag
      • starta Navigering
    4. Släpp tryck:
      • fullständig manipulering
      • fullständig navigering

Exempelscen

Scenen HandInteractionGestureEventsExample (Assets/MRTK/Examples/Demos/HandTracking/Scenes) visar hur du använder pekarresultatet för att skapa ett objekt på träffplatsen.

GestureTester Skriptet (Assets/MRTK/Examples/Demos/HandTracking/Script) är ett exempel på implementering för att visualisera gesthändelser via GameObjects. Hanteringsfunktionerna ändrar färgen på indikatorobjekt och visar den senast inspelade händelsen i textobjekt i scenen.