Leer en inglés

Compartir a través de


Mirada : MRTK2

Gaze es una forma de entrada que interactúa con el mundo en función de dónde busca el usuario. La mirada existe en dos sabores diferentes

Mirada de la cabeza

Este tipo de mirada se basa en la dirección que mira la cabeza o la cámara. La mirada de la cabeza está activa en sistemas que no admiten la mirada ocular o en los casos en los que el hardware puede admitir la mirada ocular, pero no se ha realizado el conjunto adecuado de permisos y configuraciones .

La mirada de la cabeza suele asociarse con interacciones de estilo de HoloLens 1 que implican mirar el objeto colocándolo en el centro del marco holográfico y, a continuación, realizando el gesto de pulsación de aire.

Mirada de los ojos

Este tipo de mirada se basa en dónde miran los ojos del usuario. La mirada de los ojos solo está presente en sistemas que admiten el seguimiento ocular. Consulte la documentación de seguimiento ocular para obtener más detalles sobre cómo usar la mirada ocular.

GazeProvider

GazeProvider proporciona la funcionalidad de mirada (tanto de cabeza como de ojo). Este proveedor se puede configurar en la sección Puntero del perfil del sistema de entrada:

Punto de entrada de la configuración de Gaze

Al igual que otros orígenes de entrada, el proveedor de mirada interactúa con los objetos de la escena mediante el uso de un puntero (consulte este documento para obtener información sobre los punteros). En el caso del proveedor de mirada, su puntero se implementa a través InternalGazePointer de y no se configura a través de un perfil.

Es posible reemplazar la acción GazeProvider por una implementación alternativa cambiando El tipo de proveedor gaze para hacer referencia a una clase diferente que implementa IMixedRealityGazeProvider y IMixedRealityEyeGazeProvider. Por lo general, se recomienda usar gazeProvider de stock (y presentar problemas al encontrar errores), ya que volver a implementar GazeProvider no es trivial.

Posturas de mirada alternativas proporcionadas por la plataforma

De forma predeterminada, MRTK GazeProvider usa el centro del marco de la cámara como origen de la mirada. Algunas plataformas, como Windows Mixed Reality en HoloLens 2, proporcionan una postura de mirada definida alternativamente. Esto se administra a través de la Use Head Gaze Override configuración de la configuración de mirada. Cuando esté habilitada, se usará la invalidación de mirada alternativa. Cuando se deshabilita, se usará el origen predeterminado del centro de fotogramas. En concreto, para HoloLens 2, el ángulo de mirada se elevará varios grados para tener en cuenta la comodidad del usuario en el uso de su cabeza para la orientación.

Uso

Cómo obtener el destino de mirada actual

En este ejemplo se muestra cómo obtener el objeto de juego actual dirigido por la mirada del usuario.

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

Cómo obtener la dirección y el origen de la mirada actual

En este ejemplo se muestra cómo obtener el vector3 que representa la dirección de la mirada del usuario y el origen (el punto desde el que va la dirección).

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

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