Alaprendszer

A bemeneti rendszer elsődleges része az InputSystem,amely az MRTK-val társított összes bemeneti funkció inicializálásáért és működéséért felelős szolgáltatás.

Megjegyzés

Feltételezzük, hogy az olvasók már elolvasták a terminológiai szakaszt, és alapszintű ismereteket is olvasottak.

Ez a szolgáltatás a következő szolgáltatásokért felelős:

  • A bemeneti rendszerprofil olvasása
  • A konfigurált adatszolgáltatók indítása (például és OpenVR Device Manager ).
  • A GazeProviderpéldánya, amely egy olyan összetevő, amely az HoloLens (1. generációs HoloLens) fej-tekinteti információknak a 2. stílusú szemre vonatkozó információk mellett való biztosításáért felelős.
  • A FocusProviderpéldánya, amely a fókuszban lévő objektumok meghatározásáért felelős összetevő. Ezt a dokumentáció mutatók és fókusz szakaszában ismertetjük részletesen.
  • Regisztrációs pontok biztosítása az összes bemeneti eseményhez (globális figyelőkként).
  • Eseménykompécsere-képességek biztosítása ezekhez a bemeneti eseményekhez.

Bemeneti események

A bemeneti események általában két különböző csatornán vannak elbocsátva:

Fókuszban lévő objektumok

Az események közvetlenül küldhetőek egy GameObjectnek, amely a fókuszban van. Előfordulhat például, hogy egy objektumnak van egy parancsfájlja, amely megvalósítja a IMixedRealityTouchHandler parancsprogramot. Ez az objektum érintéses eseményeket kap, ha a közelében lévő kéz összpontosít. Az ilyen típusú események "felfelé" haladnak a GameObject-hierarchiában, amíg nem talál olyan GameObjectet, amely képes kezelni az eseményt.

Ez az ExecuteHierarchy használatával történik az alapértelmezett bemenetirendszer-implementációból.

Globális figyelők

Események globális figyelőknek küldve. A bemeneti rendszer interfészével regisztrálhat az összes bemeneti IMixedRealityEventSystem eseményre. Javasoljuk, hogy a RegisterHandler metódust használja a globális eseményekre való regisztrációhoz – az elavult függvény hatására a figyelők nem csak egy adott típusú bemeneti eseményről (ahol a típust az eseményfelület határozza meg) értesítést kapnak az ÖSSZES bemeneti eseményről.

Vegye figyelembe, hogy a tartalék figyelők a globális figyelők egy másik típusa, amelyek szintén nem ajánlottak, mert minden olyan bemeneti eseményt megkapnak, amelyet máshol nem kezelnek a jelenetben.

Esemény kiküldének sorrendje

Az eseményeket általában a következő módon küldi el a figyelőknek. Vegye figyelembe, hogy ha az alábbi lépések bármelyike kezeltként megjelöli az eseményt,az esemény-kiszállítási folyamat leáll.

  1. Az esemény globális figyelőknek lesz elküldve.
  2. Az esemény az összpontosított objektum modális párbeszédablakaiba lesz elküldve.
  3. Az esemény a célobjektumnak lesz elküldve.
  4. Az esemény a tartalék figyelőknek lesz elküldve.

Eszközkezelők és adatszolgáltatók

Ezek az entitások felelősek az alacsonyabb szintű API-kkal (például Windows Mixed Reality API-kkal vagy OpenVR API-kkal) való összekapcsolásért, és az ezekről a rendszerekből származó adatok olyan rendszerekre való lefordításáért, amelyek illeszkednek az MRTK magasabb szintű bemeneti absztrakcióihoz. Ezek felelnek a vezérlők élettartamának észleléséért, létrehozásáért és kezeléséért.

Az eszközkezelő alapszintű folyamatának része a következő:

  1. Az eszközkezelőt a bemeneti rendszer szolgáltatás példányosul.
  2. Az eszközkezelő regisztrál a mögöttes rendszerrel (például a Windows Mixed Reality eszközkezelő regisztrál a bemeneti és kézmozdulatokeseményeire.
  3. Vezérlőket hoz létre, amelyek a mögöttes rendszerből deríthetőek fel (például a szolgáltató észlelheti a kézfogások jelenlétét)
  4. Az Update() hurokban hívja meg az UpdateController() et az alapul szolgáló rendszer új állapotának lekérdezéséhez, és frissítse a vezérlő megjelenítését.