Mirada : MRTK2
La mirada es una forma de entrada que interactúa con el mundo en función de dónde está buscando el usuario. La mirada existe en dos tipos diferentes
Mirada con la cabeza
Este tipo de mirada se basa en la dirección en la que está mirando la cabeza o la cámara. La mirada con la cabeza está activa en sistemas que no admiten la mirada con los ojos o en los casos en los que el hardware puede admitir la mirada ocular, pero no se ha realizado el conjunto correcto de permisos y configuración .
La mirada con la cabeza suele estar asociada con las 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 en el aire.
Mirada con los ojos
Este tipo de mirada se basa en la apariencia de los ojos del usuario. La mirada ocular 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 con los ojos.
GazeProvider
La función de mirada (tanto la cabeza como el ojo) la proporciona gazeProvider. Este proveedor se puede configurar en la sección Puntero del perfil del sistema de entrada:
Al igual que otros orígenes de entrada, el proveedor de mirada interactúa con objetos de la escena mediante el uso de un puntero (consulte este documento para obtener información sobre 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 gazeProvider por una implementación alternativa cambiando el tipo de proveedor de mirada para hacer referencia a una clase diferente que implementa IMixedRealityGazeProvider e IMixedRealityEyeGazeProvider. Por lo general, se recomienda usar gazeProvider (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, gazeProvider de MRTK 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 posición de mirada definida alternativamente. Esto se administra a través de la Use Head Gaze Override
configuración de la mirada. Cuando se habilita, se usará la invalidación de mirada alternativa. Cuando está deshabilitado, se usará el origen del centro de fotogramas predeterminado. 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 el destino.
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.
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 actuales de la mirada
En este ejemplo se muestra cómo obtener vector3 que representa la dirección de la mirada del usuario y el origen (el punto desde el que va la dirección).
void LogGazeDirectionOrigin()
{
Debug.Log("Gaze is looking in direction: "
+ CoreServices.InputSystem.GazeProvider.GazeDirection);
Debug.Log("Gaze origin is: "
+ CoreServices.InputSystem.GazeProvider.GazeOrigin);
}