Začínáme se sledováním očí v MRTK2

Tato stránka popisuje, jak nastavit scénu Unity MRTK tak, aby používala sledování očí ve vaší aplikaci. Následující dokument předpokládá, že začínáte s novou novou scénou. Případně se můžete podívat na naše již nakonfigurované příklady sledování očí MRTK se spoustou skvělých příkladů, na kterých můžete přímo stavět.

Kontrolní seznam požadavků na sledování očí

Aby sledování očí fungovalo správně, musí být splněny následující požadavky. Pokud s sledováním očí na HoloLens 2 a nastavením sledování očí v MRTK začínáte, nemějte obavy. Podrobnosti o tom, jak je řešit, se podrobněji seznámíme v následujících částech.

  1. Do vstupního systému musí být přidán poskytovatel dat očního pohledu . Tento poskytovatel dat poskytuje data sledování očí z platformy.
  2. V manifestu aplikace musí být povolená funkce GazeInput . Tuto funkci je možné nastavit v Unity 2019, ale v Unity 2018 a starších verzích je tato funkce dostupná jenom v sadě Visual Studio a prostřednictvím nástroje pro sestavení MRTK.
  3. HoloLens musí být kalibrovaný pro aktuálního uživatele. Podívejte se na naši ukázku, kde zjistíte, jestli je uživatel kalibrovaný nebo ne.

Poznámka k funkci GazeInput

Nástroje pro sestavení poskytované MRTK (Mixed Reality Toolkit –> Nástroje –> Okno sestavení) vám můžou funkci GazeInput automaticky povolit. Abyste mohli tento krok provést, musíte se ujistit, že je na kartě Možnosti sestavení Appx zaškrtnuté políčko Možnost vstupu pohledu:

Nástroje sestavení MRTK

Tyto nástroje najdou manifest AppX po dokončení sestavení Unity a ručně přidá funkci GazeInput. Před Unity 2019 nejsou tyto nástroje aktivní při použití integrovaného okna sestavení Unity (Soubor –> Nastavení sestavení).

Před Unity 2019 se při použití okna sestavení Unity bude muset funkce přidat ručně po sestavení Unity, a to následujícím způsobem:

  1. Otevřete zkompilovaný projekt sady Visual Studio a pak v řešení otevřete package.appxmanifest .
  2. Nezapomeňte zaškrtnout políčko GazeInput v části Schopnosti. Pokud funkci GazeInput nevidíte, zkontrolujte, jestli váš systém splňuje požadavky pro používání sady MRTK (zejména verzi sady Windows SDK).

Poznámka: Stačí to udělat jenom v případě, že sestavíte do nové složky sestavení. Pokud jste už projekt Unity vytvořili a nastavili appxmanifest a teď cílíte znovu na stejnou složku, nebudete muset změny znovu použít.

Podrobné nastavení sledování očí

Nastavení scény

Nastavte MixedRealityToolkit kliknutím na Mixed Reality Toolkit –> Konfigurovat... v řádku nabídek.

Konfigurace MRTK

Nastavení profilů MRTK potřebných pro sledování očí

Po nastavení scény MRTK budete vyzváni k výběru profilu pro MRTK. Můžete vybrat DefaultMixedRealityToolkitConfigurationProfile a pak vybrat možnost Kopírovat & Přizpůsobit .

Profil MRTK

Vytvoření poskytovatele dat z pohledu zraku

  • Ve svém profilu MRTK klikněte na kartu Vstup .
  • Pokud chcete upravit výchozí soubor (DefaultMixedRealityInputSystemProfile), klikněte na tlačítko Klonovat vedle něj. Zobrazí se nabídka Klonovat profil . Klikněte na Clone (Klonovat) v dolní části této nabídky.
  • Poklikejte na nový vstupní profil, rozbalte Položku Poskytovatelé vstupních dat a vyberte + Přidat poskytovatele dat.
  • Přidejte správného zprostředkovatele dat:
    • Starší verze Windows Mixed Reality
      • V části Typ vyberte Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input ->'WindowsMixedRealityEyeGazeDataProvider'
    • Modul plug-in Windows XR
      • V části Typ vyberte Microsoft.MixedReality.Toolkit.XRSDK.WindowsMixedReality ->'WindowsMixedRealityEyeGazeDataProvider'
    • Pro OpenXR
      • V části Typ vyberte Microsoft.MixedReality.Toolkit.XRSDK.OpenXR ->'OpenXREyeGazeDataProvider'

Zprostředkovatel dat MRTK

Povolit použití dat sledování očí

  • Přejděte do konfiguračního profilu MRTK –>Vstup –>Ukazatele.
    • Naklonujte soubor DefaultMixedRealityInputPointerProfile a proveďte v něm změny.
  • V nastavení vyhledejte Možnost Použít data sledování očí a povolte ji.
  • Teď se může zobrazit tlačítko Nastavit funkci GazeInput , které byste měli stisknout, aby se funkce UPW povolila.

MRTK – použití dat sledování očí

Simulace sledování očí v Editoru Unity

Před nasazením aplikace do HoloLens 2 můžete simulovat vstup sledování očí v Editoru Unity, abyste měli jistotu, že se události správně aktivují. Signál zrakového pohledu je simulován pomocí umístění kamery jako původu pohledu a vektoru dopředu kamery jako směr pohledu. I když je to skvělé pro počáteční testování, mějte na paměti, že to není dobrá imitace pro rychlé pohyby očí. Proto je lepší zajistit časté testy interakcí založených na očích na HoloLens 2.

  1. Povolení simulovaného sledování očí:

    • V konfiguračním profilu MRTK klikněte na kartu Vstup .
    • Odtud přejděte na "Input Data Providers" ->'Input Simulation Service'.
    • Naklonujte soubor DefaultMixedRealityInputSimulationProfile a proveďte v něm změny.
    • Vyberte odpovídající nastavení Výchozí režim simulace pohledu.

    MRTK – simulace očí

  2. Zakázat výchozí kurzor pohledu: Obecně doporučujeme, abyste se vyhnuli zobrazování kurzoru zraku nebo, pokud je to nezbytně nutné, aby byl velmi jemný. Doporučujeme skrýt výchozí kurzor pohledu hlavou, který je ve výchozím nastavení připojený k profilu ukazatele pohledu MRTK.

    • Přejděte do konfiguračního profilu MRTK –>Vstup –>Ukazatele.
    • Naklonujte soubor DefaultMixedRealityInputPointerProfile a proveďte v něm změny.
    • V horní části nastavení ukazatele byste měli přiřadit neviditelný kurzor prefab ' Prefab kurzoru pohledu'. Můžete to udělat tak, že vyberete prefab EyeGazeCursor z nadace MRTK.

Povolení pohledu založeného na očích ve poskytovateli pohledu

V HoloLensu v1 se jako primární technika ukazovávání používal pohled hlavou. Zatímco pohled hlavou je stále k dispozici prostřednictvím gazeProvider v MRTK, který je připojený ke kameře, můžete místo toho použít pohled zrakem zaškrtnutím políčka IsEyeTrackingEnabled v nastavení pohledu vstupního profilu ukazatele.

Poznámka

Vývojáři můžou přepínat mezi pohledem založeným na očích a upřeným pohledem v kódu změnou vlastnosti IsEyeTrackingEnabledgazeProvider.

Důležité

Pokud některý z požadavků na sledování očí není splněn, aplikace automaticky přejde zpět na pohled založený na hlavě.

Přístup k datům zraku

Teď, když je vaše scéna nastavená tak, aby používala sledování očí, se podíváme na to, jak k ní přistupovat ve skriptech: Přístup k datům sledování očí přes EyeGazeProvider a výběry cílů s podporou očí.

Testování aplikace Unity na HoloLens 2

Vytváření aplikace pomocí sledování očí by mělo být podobné tomu, jak byste kompiloval jiné aplikace HoloLens 2 MRTK. Ujistěte se, že jste povolili funkci "Vstup pohledu" , jak je popsáno výše v části Poznámka k funkci GazeInput.

Ujistěte se, že je projekt nakonfigurovaný pro HoloLens 2

Ujistěte se, že jste projekt správně nakonfigurovali, a to tak, že si projděte kroky konfigurace popsané v tématu Nastavení projektu OpenXR pomocí MRTK.

Klíčové body, na které je potřeba myslet:

  • Zkontrolujte nastavení klíčů v okně Nastavení projektu .
    • Ujistěte se, že jsou poskytovatelé modulů plug-in správně nastaveni.
  • Vyřešte trojúhelníky upozornění.
    • Měly by se nastavit profily interakce.
    • Skupiny funkcí OpenXR by měly být správně vybrané.

Kalibrace očí

Nezapomeňte projít kalibrací očí na HoloLens 2. Systém sledování očí nevrátí žádný vstup, pokud uživatel není kalibrovaný. Nejjednodušší způsob, jak se dostat k kalibraci, je překlopit hledí nahoru a pak zpět dolů. Mělo by se zobrazit systémové oznámení, které vás vítá jako nového uživatele a požádá vás, abyste prošli kalibrací očí. Případně můžete kalibraci očí najít v nastavení systému: Nastavení > Kalibrace systému > Kalibrace > oka.

Oprávnění ke sledování očí

Při prvním spuštění aplikace na HoloLens 2 by se měla zobrazit výzva s žádostí uživatele o oprávnění používat sledování očí. Pokud se výzva nezobrazuje, obvykle to značí, že funkce GazeInput nebyla nastavena.

Jakmile se jednou zobrazí výzva k oprávnění, automaticky se znovu nezobrazí. Pokud jste odepřeli oprávnění ke sledování očí, můžete ho resetovat v Nastavení –> Soukromí –> Aplikace.


Díky tomu byste měli začít používat sledování očí v aplikaci MRTK Unity. Nezapomeňte se podívat na naše kurzy a ukázky sledování očí MRTK , které ukazují, jak používat vstupy pro sledování očí a pohodlně poskytují skripty, které můžete opakovaně používat ve svých projektech.


Zpět na "Sledování očí v MixedRealityToolkit"