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:

Oba tyto vstupní zdroje používají profil Nastavení gest k překladu událostí Touch a Gesture Unity do vstupních akcí MRTK. Tento profil najdete v části Profil nastavení vstupního systému .

Profil gesta

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 implementace obslužné rutiny události gesta najdete v ukázkové scéně .

Při implementaci obecné verze mohou události OnGestureCompleted a OnGestureUpdated přijímat data typu následující typy:

  • Vector2 - 2D poziční gesto. Vyrobeno dotykovými obrazovkami, které informují o svých deltaPositionzařízeních .
  • Vector3 - 3D poziční gesto. Vyrobeno společností HoloLens s cílem informovat o:
  • Quaternion - Gesto otáčení ve 3D. K dispozici pro vlastní vstupní zdroje, ale aktuálně nevyráběné žádný z existujících zdrojů.
  • MixedRealityPose - Kombinované gesto pro 3D polohu/otočení. K dispozici pro vlastní vstupní zdroje, ale aktuálně nevyráběné žádný z existujících zdrojů.

Pořadí událostí

V závislosti na vstupu uživatele existují dva hlavní řetězy událostí:

  • "Hold":

    1. Podržte klepnutí:
      • zahájit manipulaci
    2. Podržením klepnutí nad rámec HoldStartDuration:
      • zahájit blokování
    3. Uvolnění klepnutí:
      • úplné blokování
      • kompletní manipulace
  • "Přesunout":

    1. Podržte klepnutí:
      • zahájit manipulaci
    2. Podržením klepnutí nad rámec HoldStartDuration:
      • zahájit blokování
    3. Přesunutí ruky za NavigationStartThreshold:
      • zrušit blokování
      • spuštění navigace
    4. Uvolnění klepnutí:
      • kompletní manipulace
      • kompletní navigace

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í, kde byl nalezen.

Skript GestureTester (Assets/MRTK/Examples/Demos/HandTracking/Script) je ukázkovou implementací pro vizualizaci událostí gest přes GameObjects. Funkce obslužné rutiny mění barvu objektů indikátorů a zobrazují poslední zaznamenanou událost v textových objektech ve scéně.