Pohled

Pohled je forma vstupu, která komunikuje se světem na základě toho, kde uživatel hledá. Pohled existuje ve dvou různých příchutích.

Pohled hlavy

Tento typ pohledu vychází ze směru, na který se dívá hlava/kamera. Pohled hlavy je aktivní v systémech, které nepodporují pohled do očí, nebo v případech, kdy hardware může podporovat pohled očí, ale nebyla provedena správnou sadu oprávnění a nastavení.

Pohled hlavy je obvykle spojen s interakcemi stylu 1, včetně pohledu na objekt jeho umístěním do středu holografického rámu HoloLens provedením gesta klepnutí ve vzduchu.

Pohled do oka

Tento typ pohledu vychází z pohledu uživatele. Pohled se nachází pouze v systémech, které podporují sledování očí. Další podrobnosti o tom, jak používat pohled na oko, najdete v dokumentaci ke sledování očí.

Zprostředkovatel pohledu

Funkci pohledu (hlavy i oko) poskytuje objekt GazeProvider. Tohoto zprostředkovatele je možné nakonfigurovat v části Ukazatel vstupního profilu systému:

Vstupní bod konfigurace pohledu

Podobně jako jiné zdroje vstupu komunikuje zprostředkovatel pohledu s objekty ve scéně pomocí ukazatele (informace o ukazatelích najdete v tomto dokumentu). V případě zprostředkovatele pohledu je jeho ukazatel implementovaný prostřednictvím a InternalGazePointer není konfigurován prostřednictvím profilu.

Akciový objekt GazeProvider je možné nahradit alternativní implementací změnou typu poskytovatele Pohledu tak, aby odkazoval na jinou třídu, která implementuje IMixedRealityGazeProvider a IMixedReality Zprostředkovatele IMixedReality ZprostředkovatelegazeProvider. Obecně se doporučuje při hledání chyb používat akciové objekty GazeProvider (a při hledání chyb hlásit problémy), protože opětovné implementace objektu GazeProvider není triviální.

Alternativní pohled na platformu

Ve výchozím nastavení používá zprostředkovatel pohledu MRTK střed snímku fotoaparátu jako pohledový počátek. Některé platformy, jako Windows Mixed Reality na HoloLens 2, poskytují alternativně definovanou polohu pohledu. Tato možnost se spravuje Use Head Gaze Override prostřednictvím nastavení v nastavení pohledu. Pokud je tato možnost povolená, použije se alternativní přepsání pohledu. Pokud je toto nastavení zakázané, použije se výchozí počátek centra snímků. Konkrétně u HoloLens 2 se úhel pohledu zdvihl o několik stupňů, aby se zohlednil komfort uživatelů při používání jejich hlavy k cílení.

Využití

Jak získat aktuální cíl pohledu

Tato ukázka ukazuje, jak získat aktuální objekt hry, na který cílí pohled uživatele.

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

Jak získat aktuální směr pohledu a původ

Tato ukázka ukazuje, jak získat vektor Vector3 představující směr pohledu uživatele a počátek (bod, ze kterého směr směruje).

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

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