Tekintet – MRTK2

A tekintet a bemenet egy formája, amely a felhasználó által keresett környezet alapján kommunikál a világgal. A tekintet két különböző ízben létezik

Fej tekintete

Ez a tekintettípus azon az irányon alapul, amelyet a fej/kamera néz. A fej tekintete aktív olyan rendszereken, amelyek nem támogatják a tekintetet, vagy olyan esetekben, amikor a hardver támogatja a tekintetet, de a megfelelő engedélyek és beállítás nem lett végrehajtva.

A fej tekintetét általában a HoloLens 1 stílus interakcióihoz társítják, amelyek során az objektumot úgy tekintik meg, hogy a holografikus keret középpontjába helyezik, majd végrehajtják a levegőcsapás kézmozdulatát.

Szem tekintete

Az ilyen típusú tekintet azon alapul, hogy a felhasználó szeme hol néz ki. A szem tekintete csak olyan rendszereken van jelen, amelyek támogatják a szemkövetést. A szemnézés használatáról további információt a szemkövető dokumentációban talál.

GazeProvider

A tekintet funkcióját (fej és szem) a GazeProvider biztosítja. Ez a szolgáltató a bemeneti rendszerprofil Pointer (Mutató ) szakaszában konfigurálható:

Tekintet konfigurációs belépési pontja

A többi bemeneti forráshoz hasonlóan a tekintetszolgáltató is egy mutató használatával kommunikál a jelenet objektumaival (a mutatókkal kapcsolatos információkért tekintse meg ezt a dokumentumot). A tekintetszolgáltató esetében a mutató implementálása a profilon keresztül InternalGazePointer történik, és nincs konfigurálva.

A GazeProvider részvényt lecserélheti egy másik implementációra úgy, hogy módosítja a Gaze Provider Type típust , hogy egy másik osztályra hivatkozzon, amely az IMixedRealityGazeProvidert és az IMixedRealityEyeGazeProvidert implementálja. Általában ajánlott a GazeProvider részvényt használni (és a hibák keresésekor felmerülő problémák bejelentését), mivel a GazeProvider újra implementálása nem triviális.

Alternatív platform által biztosított tekintet jelent

Alapértelmezés szerint az MRTK GazeProvider a kamera keretének középpontját használja a tekintet forrásaként. Egyes platformok, például a HoloLens 2 Windows Mixed Reality, alternatív tekintetet biztosítanak. Ezt a Use Head Gaze Override tekintet beállításaiban található beállítással lehet kezelni. Ha engedélyezve van, a rendszer az alternatív tekintet felülbírálását fogja használni. Ha le van tiltva, a rendszer az alapértelmezett keret középen lévő forrást használja. Pontosabban a HoloLens 2 esetében a tekintet szöge több fokkal lesz emelve, hogy figyelembe vegyék a felhasználói kényelmet a fejük célzáshoz való használata során.

Használat

Az aktuális tekintet céljának lekérése

Ez a minta bemutatja, hogyan szerezheti be a felhasználó tekintete által megcélzott aktuális játékobjektumot.

void LogCurrentGazeTarget()
{
    if (CoreServices.InputSystem.GazeProvider.GazeTarget)
    {
        Debug.Log("User gaze is currently over game object: "
            + CoreServices.InputSystem.GazeProvider.GazeTarget)
    }
}

Az aktuális tekintet irányának és eredetének lekérése

Ez a minta bemutatja, hogyan szerezheti be a vektor3-at, amely a felhasználói tekintet irányát és a forrást (az irány irányát) jelöli.

void LogGazeDirectionOrigin()
{
    Debug.Log("Gaze is looking in direction: "
        + CoreServices.InputSystem.GazeProvider.GazeDirection);

    Debug.Log("Gaze origin is: "
        + CoreServices.InputSystem.GazeProvider.GazeOrigin);
}