Regard — MRTK2

Le regard est une forme d’entrée qui interagit avec le monde en fonction de l’endroit où l’utilisateur cherche. Le regard existe dans deux saveurs différentes

Suivi de la tête

Ce type de regard est basé sur la direction que la tête/la caméra regarde. Le regard de tête est actif sur les systèmes qui ne prennent pas en charge le regard, ou dans les cas où le matériel peut prendre en charge le regard, mais le bon ensemble d’autorisations et de configuration n’a pas été effectué.

Le regard de la tête est généralement associé à HoloLens 1 interactions de style impliquant la recherche d’objet en le plaçant au centre du cadre holographique, puis en effectuant le mouvement d’appui à l’air.

Regard de regard

Ce type de regard est basé sur l’endroit où les yeux de l’utilisateur cherchent. Le regard est présent uniquement sur les systèmes qui prennent en charge le suivi oculaire. Pour plus d’informations sur l’utilisation du regard, consultez la documentation sur le suivi oculaire.

GazeProvider

La fonctionnalité de regard (tête et œil) est fournie par le GazeProvider. Ce fournisseur peut être configuré dans la section Pointeur du profil système d’entrée :

Gaze Configuration Entrypoint

Comme d’autres sources d’entrée, le fournisseur de regard interagit avec des objets de la scène à l’aide d’un pointeur (voir ce document pour plus d’informations sur les pointeurs). Dans le cas du fournisseur de regard, son pointeur est implémenté via InternalGazePointer et n’est pas configuré via un profil.

Il est possible de remplacer le gazeProvider par une autre implémentation en modifiant le type de fournisseur de gaze pour référencer une autre classe qui implémente IMixedRealityGazeProvider et IMixedRealityEyeGazeProvider. Il est généralement recommandé d’utiliser le stock GazeProvider (et de déposer des problèmes lors de la recherche de bogues) car la ré-implémentation du GazeProvider n’est pas triviale.

Autres postures de regard fournies par la plateforme

Par défaut, le gazeProvider MRTK utilise le centre du cadre de l’appareil photo comme origine du regard. Certaines plateformes, comme Windows Mixed Reality sur HoloLens 2, fournissent une pose de regard définie de manière alternative. Ceci est géré via le Use Head Gaze Override paramètre dans les paramètres de regard. Lorsque cette option est activée, le remplacement de regard alternatif est utilisé. Quand elle est désactivée, l’origine du centre d’images par défaut est utilisée. Plus précisément, pour HoloLens 2, l’angle de regard sera élevé plusieurs degrés pour tenir compte du confort de l’utilisateur à l’aide de sa tête pour cibler.

Usage

Comment obtenir la cible de regard actuel

Cet exemple montre comment obtenir l’objet de jeu actuel ciblé par le regard de l’utilisateur.

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

Comment obtenir la direction et l’origine du regard actuel

Cet exemple montre comment obtenir le Vecteur3 représentant la direction du regard de l’utilisateur et l’origine (point à partir duquel la direction va).

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

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