Blick — MRTK2

Gaze ist eine Form der Eingabe, die mit der Welt interagiert, basierend darauf, wo der Benutzer sucht. Blick ist in zwei verschiedenen Aromen vorhanden

Anvisieren mit dem Kopf

Dieser Blicktyp basiert auf der Richtung, die der Kopf/die Kamera betrachtet. Der Kopfblick ist auf Systemen aktiv, die den Blick nicht unterstützen, oder in Fällen, in denen die Hardware Blicke unterstützen kann, aber die richtige Gruppe von Berechtigungen und Setup wurde nicht ausgeführt.

Der Kopfblick ist in der Regel mit HoloLens 1-Stilinteraktionen verknüpft, die das Betrachten des Objekts betreffen, indem er in der Mitte des Holographic Frame platziert wird und dann die Luftkippbewegung ausführt.

Augenblick

Diese Art von Blick basiert darauf, wo die Augen des Benutzers aussehen. Augenblicke sind nur auf Systemen vorhanden, die Eye Tracking unterstützen. Weitere Informationen zur Verwendung des Augenblicks finden Sie in der Eye Tracking-Dokumentation .

GazeProvider

Die Blickfunktion (sowohl Kopf als auch Auge) wird vom GazeProvider bereitgestellt. Dieser Anbieter kann im Zeigerabschnitt des Eingabesystemprofils konfiguriert werden:

Blickkonfigurationseintragspunkt

Wie andere Eingabequellen interagiert der Blickanbieter mithilfe eines Zeigers mit Objekten in der Szene (siehe dieses Dokument informationen zu Zeigern). Im Falle des Blickanbieters wird der Zeiger über InternalGazePointer ein Profil implementiert und nicht konfiguriert.

Es ist möglich, den Aktien-GazeProvider durch eine alternative Implementierung durch Ändern des Gaze-Anbietertyps zu ersetzen, um auf eine andere Klasse zu verweisen, die IMixedRealityGazeProvider und IMixedRealityEyeGazeProvider implementiert. Es wird im Allgemeinen empfohlen, den Aktien-GazeProvider (und das Ablegen von Problemen bei der Suche nach Fehlern) als erneute Implementierung des GazeProviders zu verwenden, ist nicht trivial.

Alternative Plattform-bereitgestellte Blick-Posen

Standardmäßig verwendet der MRTK GazeProvider die Mitte des Kamerarahmens als Blickherkunft. Einige Plattformen wie Windows Mixed Reality auf HoloLens 2 bieten eine alternativ definierte Blickpose. Dies wird über die Einstellung in den Use Head Gaze Override Blickeinstellungen verwaltet. Wenn dies aktiviert ist, wird die alternative Blicküberschreibung verwendet. Wenn dies deaktiviert ist, wird der Standardframecenter-Ursprung verwendet. Insbesondere wird der Blickwinkel für HoloLens 2 mehrere Grad erhöht, um den Benutzerkomfort bei der Verwendung ihres Kopfes für die Zielbestimmung zu berücksichtigen.

Verbrauch

Abrufen des aktuellen Blickziels

In diesem Beispiel wird gezeigt, wie Sie das aktuelle Spielobjekt abrufen, das vom Benutzerblick gezielt ist.

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

So erhalten Sie die aktuelle Blickrichtung und den Ursprung

In diesem Beispiel wird gezeigt, wie Sie den Vector3 abrufen, der die Richtung des Benutzerblicks und den Ursprung darstellt (der Punkt, von dem die Richtung verläuft).

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

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