Regard — MRTK2

Le regard est une forme d’entrée qui interagit avec le monde en fonction de l’endroit où l’utilisateur recherche. 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 la 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 jeu d’autorisations et de configuration approprié n’a pas été effectué.

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

Regard

Ce type de regard est basé sur l’endroit où les yeux de l’utilisateur regardent. Le regard n’est présent que 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é du 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 :

Point d’entrée de la configuration du regard

Comme d’autres sources d’entrée, le fournisseur de regards interagit avec les 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 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 classer des problèmes dans lors de la recherche de bogues), car la ré-implémentation de GazeProvider n’est pas triviale.

Autres poses de regard fournies par la plateforme

Par défaut, mrTK GazeProvider utilise le centre du cadre de l’appareil photo comme origine du regard. Certaines plateformes, comme Windows Mixed Reality sur HoloLens 2, fournissent une autre pose de regard définie. Ceci est géré via le Use Head Gaze Override paramètre dans les paramètres du regard. Lorsque cette option est activée, l’autre remplacement du regard est utilisé. Lorsqu’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 du regard sera élevé de plusieurs degrés pour tenir compte du confort de l’utilisateur dans l’utilisation de sa tête pour le ciblage.

Utilisation

Comment obtenir la cible de regard actuelle

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);
}