Komma igång med ögonspårning i MRTK

Den här sidan beskriver hur du ställer in Unity MRTK-scenen för användning av ögonspårning i din app. Följande förutsätter att du börjar med en ny scen. Du kan också kolla in våra redan konfigurerade MRTK-ögonspårningsexempel med massor av bra exempel som du kan bygga vidare på direkt.

Checklista för krav för ögonspårning

För att ögonspårningen ska fungera korrekt måste följande krav vara uppfyllda. Oroa dig inte om du är nybörjare på HoloLens 2 och hur ögonspårning har ställts in i MRTK! Vi kommer att gå in i detalj på hur du adresserar var och en av dem ytterligare nedan.

  1. En "Eye Gaze Data Provider" måste läggas till i indatasystemet. Detta ger ögonspårningsdata från plattformen.
  2. Funktionen "GazeInput" måste aktiveras i programmanifestet. Den här funktionen kan anges i Unity 2019, men i Unity 2018 och tidigare är den här funktionen endast tillgänglig i Visual Studio och via MRTK-byggverktyget
  3. Den HoloLens måste vara ögonkalibrerad för den aktuella användaren. Kolla in vårt exempel för att identifiera om en användare är ögonkalibrerad eller inte.

En anteckning om funktionen GazeInput

MrTK-tillhandahållna byggverktyg (d.v.s. Mixed Reality Toolkit -> Utilities -> Build Window) kan automatiskt aktivera Funktionen BlickInput åt dig. För att göra detta måste du se till att "Funktionen blickindata" är markerad på fliken Appx-versionsalternativ:

MRTK-byggverktyg

Den här verktygsverktyget hittar AppX-manifestet när Unity-bygget har slutförts och lägger till funktionen GazeInput manuellt. Före Unity 2019 är det här verktyget INTE aktivt när du använder Unitys inbyggda build-fönster (t.ex. Fil -> Build Inställningar).

Innan Unity 2019, när du använder Unitys byggfönster, måste funktionen läggas till manuellt efter Unity-versionen enligt följande:

  1. Öppna ditt kompilerade Visual Studio-projekt och öppna sedan Package.appxmanifest i din lösning.
  2. Se till att markera kryssrutan "GazeInput" under Funktioner. Om du inte ser funktionen "GazeInput" kontrollerar du att systemet uppfyller kraven för att använda MRTK (särskilt Windows SDK-versionen).

Observera följande: Du behöver bara göra detta om du bygger i en ny byggmapp. Det innebär att om du redan har skapat ditt Unity-projekt och ställt in appxmanifest tidigare och nu har samma mapp som mål igen, behöver du inte tillämpa ändringarna igen.

Konfigurera ögonspårning steg för steg

Konfigurera scenen

Konfigurera MixedRealityToolkit genom att helt enkelt klicka på "Mixed Reality Toolkit -> Configure..." (Konfigurera...) på menyraden.

MRTK-konfiguration

Konfigurera de MRTK-profiler som krävs för ögonspårning

När du har ställt in MRTK-scenen uppmanas du att välja en profil för MRTK. Du kan helt enkelt välja DefaultMixedRealityToolkitConfigurationProfile och sedan välja alternativet Kopiera & Anpassa.

MRTK-profil

Skapa en "dataprovider för ögonögon blick"

  • Klicka på fliken Indata i din MRTK-profil.
  • Om du vill redigera standardvärdet ( DefaultMixedRealityInputSystemProfile) klickar du på knappen "Klona" bredvid den. Menyn "Klona profil" visas. Klicka bara på "Klona" längst ned på menyn.
  • Dubbelklicka på din nya indataprofil, expandera "Indataproviders" och välj + Lägg till dataprovider.
  • Skapa en ny dataleverantör:
    • Under Typ väljer du "Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input" -> "WindowsMixedRealityAzGazeDataProvider"
    • För Plattform(er) väljer du "Windows Universal".

MRTK-dataprovider

Simulera ögonspårning i Unity-redigeraren

Du kan simulera ögonspårningsindata i Unity-redigeraren för att säkerställa att händelser utlöses korrekt innan du distribuerar appen till din HoloLens 2. Ögonögonsignalen simuleras genom att helt enkelt använda kamerans plats som ögonögonens ursprung och kamerans framåtvektor som ögonögonriktning. Även om detta är bra för inledande testning, så observera att det inte är en bra blick för snabba ögonförflyttningar. För detta är det bättre att säkerställa frekventa tester av dina ögonbaserade interaktioner på HoloLens 2.

  1. Aktivera simulerad ögonspårning:

    • Klicka på fliken Indata i din MRTK-konfigurationsprofil.
    • Därifrån går du till Input Data Providers (Indataproviders) -> "Input Simulation Service" (Tjänst för indatasimulering).
    • Klona DefaultMixedRealityInputSimpulationProfile för att göra ändringar i den.
    • Markera kryssrutan Simulera ögonposition.

    SIMULERA MRTK-ögon

  2. Inaktivera standardmarkör för huvud blick: I allmänhet rekommenderar vi att du undviker att visa en ögonmarkör eller om det är absolut nödvändigt för att göra den mycket diskret. Vi rekommenderar att du döljer standardmarkören för huvudmarkören som är kopplad till MRTK-blickpekarprofilen som standard.

    • Gå till din MRTK-konfigurationsprofil – > "Indata" -> "Pekare"
    • Klona DefaultMixedRealityInputPointerProfile för att göra ändringar i den.
    • Överst i "Pekaren Inställningar" bör du tilldela en osynlig markör-prefab till "GazeCursor". Du kan göra detta genom att välja "EyeGazeCursor"-prefabet från MRTK Foundation.

Aktivera ögonbaserad blick i blickprovidern

I HoloLens v1 användes huvud blick som primär pekarteknik. Huvudögonblick är fortfarande tillgängligt via Blickprovidern i MRTK som är ansluten till din kamera,men du kan använda ögonögonblick i stället genom att markera kryssrutan "IsTrackTrackingEnabled" i blickinställningarna för indatapekarprofilen.

Anteckning

Utvecklare kan växla mellan ögonbaserad blick och huvudbaserad blick i kod genom att ändra egenskapen "IsTrackTrackingEnabled" för "GazeProvider".

Viktigt

Om något av kraven för ögonspårning inte uppfylls kommer programmet automatiskt att gå tillbaka till den huvudbaserade blicken.

Komma åt ögonögondata

Nu när din scen är konfigurerad för att använda ögonspårning ska vi ta en titt på hur du kommer åt den i dina skript: Åtkomst till ögonspårningsdata via EyeGazeProvider och val av mål med ögonstöd.

Testa unity-appen på en HoloLens 2

Att skapa din app med ögonspårning bör likna hur du kompilerar andra HoloLens 2 MRTK-appar. Se till att du har aktiverat funktionen "Blickindata" enligt beskrivningen ovan i avsnittet A note on the GazeInput capability.

Ögonavsening

Glöm slutligen inte att köra genom ögonavsluten på din HoloLens 2. Ögonspårningssystemet returnerar inga indata om användaren inte kalibreras. Det enklaste sättet att komma till kalibreringen är att vända upp och ned visorn. Ett systemmeddelande bör se välkommen ut som en ny användare och be dig att gå igenom ögonaviseringen. Du kan också hitta ögonreligionen i systeminställningarna: Inställningar > System > Kalibrering > Run eye kalibrering.

Behörighet för ögonspårning

När du startar appen på HoloLens 2 för första gången bör en uppmaning visas där användaren uppmanas att ange behörighet att använda ögonspårning. Om den inte visas är det vanligtvis en indikation på att funktionen "Blickinput" inte har angetts.

När behörighetsupp prompten visas en gång visas den inte automatiskt igen. Om du "nekade ögonspårningsbehörighet" kan du återställa det i Inställningar -> Privacy -> Apps.


Då bör du komma igång med att använda ögonspårning i MRTK Unity-appen. Glöm inte att kolla in våra självstudier och exempel för MRTK-ögonspårning som visar hur du använder indata för ögonspårning och tillhandahåller skript som du enkelt kan återanvända i dina projekt.


Tillbaka till "Ögonspårning i MixedRealityToolkit"