Introducción a los ejemplos de seguimiento de los ojosEye tracking examples overview

En este tema se describe cómo empezar a trabajar rápidamente con el seguimiento de los ojos en MRTK mediante la creación de ejemplos de seguimiento ocular de MRTK (Assets/MRTK/Examples/Demos/EyeTracking).This topic describes how to quickly get started with eye tracking in MRTK by building on MRTK eye tracking examples (Assets/MRTK/Examples/Demos/EyeTracking). Estos ejemplos le permiten experimentar una de nuestras nuevas funcionalidades mágicas de entrada: Seguimiento de los ojos.These samples let you experience one of our new magical input capabilities: Eye tracking! La demostración incluye varios casos de uso, desde activaciones implícitas basadas en los ojos hasta cómo combinar sin problemas información sobre lo que está viendo con la entrada de voz y mano.The demo includes various use cases, ranging from implicit eye-based activations to how to seamlessly combine information about what you are looking at with voice and hand input. Esto permite a los usuarios seleccionar y mover contenido holográfico de forma rápida y sin esfuerzo a través de su vista con solo mirar un destino y decir "Seleccionar" o realizar un gesto con la mano.This enables users to quickly and effortlessly select and move holographic content across their view simply by looking at a target and saying 'Select' or performing a hand gesture. Las demostraciones también incluyen un ejemplo de desplazamiento dirigido con mirada con los ojos, desplazamiento panorámico y zoom de texto e imágenes en una pizarra.The demos also include an example for eye-gaze-directed scroll, pan and zoom of text and images on a slate. Por último, se proporciona un ejemplo para grabar y visualizar la atención visual del usuario en una pizarra 2D.Finally, an example is provided for recording and visualizing the user's visual attention on a 2D slate. En la sección siguiente, encontrará más detalles sobre lo que incluye cada uno de los diferentes ejemplos del paquete de ejemplo de seguimiento ocular de MRTK (Assets/MRTK/Examples/Demos/EyeTracking):In the following section, you will find more details on what each of the different samples in the MRTK eye tracking example package (Assets/MRTK/Examples/Demos/EyeTracking) includes:

Lista de escenas de seguimiento de los ojos

La siguiente sección es una introducción rápida de lo que son las escenas de demostración de seguimiento de los ojos individuales.The following section is a quick overview of what the individual eye tracking demo scenes are about. Las escenas de demostración de seguimiento de los ojos de MRTK se carganaditivamente, lo que explicaremos a continuación cómo configurar.The MRTK eye tracking demo scenes are loaded additively, which we will explain below how to set up.

Información general de los ejemplos de demostración de seguimiento de los ojosOverview of the eye tracking demo samples

Selección de destino compatible con los ojosEye-Supported Target Selection

En este tutorial se muestra la facilidad de acceso a los datos de mirada con los ojos para seleccionar destinos.This tutorial showcases the ease of accessing eye gaze data to select targets. Incluye un ejemplo de comentarios sutiles pero eficaces para proporcionar al usuario la confianza de que un destino se centra sin ser abrumador.It includes an example for subtle yet powerful feedback to provide the user with the confidence that a target is focused without being overwhelming. Además, hay un ejemplo sencillo de notificaciones inteligentes que desaparecen automáticamente después de leerse.In addition, there is a simple example of smart notifications that automatically disappear after being read.

Resumen: selecciones de destino rápidas y sin esfuerzo mediante una combinación de ojos, voz y entrada de mano.Summary: Fast and effortless target selections using a combination of eyes, voice and hand input.

Navegación con los ojosEye-Supported Navigation

Imagine que está leyendo información en una pantalla lejana o en el lector electrónico y cuando llega al final del texto mostrado, el texto se desplaza automáticamente hacia arriba para mostrar más contenido.Imagine that you are reading some information on a distant display or your e-reader and when you reach the end of the displayed text, the text automatically scrolls up to reveal more content. O bien, ¿qué tal acercarse directamente hacia donde estaba mirando?Or how about magically zooming directly toward where you were looking at? Estos son algunos de los ejemplos que se muestran en este tutorial con respecto a la navegación con los ojos.These are some of the examples showcased in this tutorial regarding eye-supported navigation. Además, hay un ejemplo para la rotación de manos libres de hologramas 3D, ya que los hace girar automáticamente en función del foco actual.In addition, there is an example for hands-free rotation of 3D holograms by making them automatically rotate based on your current focus.

Resumen: desplazamiento, desplazamiento panorámico, zoom, rotación 3D mediante una combinación de ojos, voz y entrada de mano.Summary: Scroll, pan, zoom, 3D rotation using a combination of eyes, voice and hand input.

Posición compatible con los ojosEye-Supported Positioning

En este tutorial se muestra un escenario de entrada denominado Put-That-There que se reentraba a la investigación del laboratorio multimedia mit a principios de la década de 1980 con entrada de ojo, mano y voz.This tutorial shows an input scenario called Put-That-There dating back to research from the MIT Media Lab in the early 1980's with eye, hand and voice input. La idea es sencilla: benefíciese de sus ojos para una selección y un posicionamiento de destino rápidos.The idea is simple: Benefit from your eyes for fast target selection and positioning. Basta con mirar un holograma y decir "put this", mire dónde desea colocarlo y diga "ahí!".Simply look at a hologram and say 'put this', look over where you want to place it and say 'there!'. Para colocar el holograma de forma más precisa, puede usar entradas adicionales de las manos, la voz o los controladores.For more precisely positioning your hologram, you can use additional input from your hands, voice or controllers.

Resumen: colocación de hologramas con los ojos, la voz y la entrada de la mano (arrastrar y colocar).Summary: Positioning holograms using eyes, voice and hand input (drag-and-drop). Controles deslizantes compatibles con los ojos con los ojos y las manos.Eye-supported sliders using eyes + hands.

Visualización de la atención visualVisualization of visual attention

Los datos basados en la apariencia de los usuarios son una herramienta enormemente eficaz para evaluar la facilidad de uso de un diseño e identificar problemas en flujos de trabajo eficaces.Data based on where users look makes an immensely powerful tool to assess usability of a design and to identify problems in efficient work streams. En este tutorial se de abordan diferentes visualizaciones de seguimiento de los ojos y cómo se ajustan a distintas necesidades.This tutorial discusses different eye tracking visualizations and how they fit different needs. Proporcionamos ejemplos básicos para registrar y cargar datos de seguimiento de los ojos y ejemplos de cómo visualizarlos.We provide basic examples for logging and loading eye tracking data and examples for how to visualize them.

Resumen: mapa de atención bidimensional (mapas térmicos) en pizarras.Summary: Two-dimensional attention map (heatmaps) on slates. Grabación & reproducir datos de seguimiento de los ojos.Recording & replaying eye tracking data.

Configuración de los ejemplos de seguimiento de los ojos de MRTKSetting up the MRTK eye tracking samples

Requisitos previosPrerequisites

Tenga en cuenta que el uso de los ejemplos de seguimiento de los ojos en el dispositivo requiere un HoloLens 2 y un paquete de aplicación de ejemplo que se ha creado con la funcionalidad "Entrada de mirada" en appXManifest del paquete.Note that using the eye tracking samples on device requires a HoloLens 2 and a sample app package that is built with the "Gaze Input" capability on the package's AppXManifest.

Para usar estos ejemplos de seguimiento de los ojos en el dispositivo, asegúrese de seguir estos pasos antes de compilar la aplicación en Visual Studio.In order to use these eye tracking samples on device, make sure to follow these steps prior to building the app in Visual Studio.

1. Load EyeTrackingDemo-00-RootScene.unity1. Load EyeTrackingDemo-00-RootScene.unity

EyeTrackingDemo-00-RootScene es laescena base (raíz) que incluye todos los componentes principales de MRTK.The EyeTrackingDemo-00-RootScene is the base (root) scene that has all the core MRTK components included. Esta es la escena que debe cargar primero y desde la que ejecutará las demostraciones de seguimiento de los ojos.This is the scene that you need to load first and from which you will run the eye tracking demos. Incluye un menú gráfico de escena que permite cambiar fácilmente entre las distintas muestras de seguimiento de los ojos que se cargarán de forma aditiva.It features a graphical scene menu that allows you to easily switch between the different eye tracking samples which will be loaded additively.

Menú de escena en el ejemplo de seguimiento de los ojos

La escena raíz incluye algunos componentes principales que se conservarán en las escenas cargadas aditivamente, como los perfiles configurados por MRTK y la cámara de escena.The root scene includes a few core components that will persist across the additively loaded scenes, such as the MRTK configured profiles and scene camera. MixedRealityBasicSceneSetup (vea la captura de pantalla siguiente) incluye un script que cargará automáticamente la escena a la que se hace referencia al inicio.The MixedRealityBasicSceneSetup (see screenshot below) includes a script that will automatically load the referenced scene on startup. De forma predeterminada, se trata de EyeTrackingDemo-02-TargetSelection.By default, this is EyeTrackingDemo-02-TargetSelection.

Ejemplo del script OnLoadStartScene

2. Agregar escenas al menú de compilación2. Adding scenes to the build menu

Para cargar escenas de adición durante el tiempo de ejecución, primero debe agregar estas escenas al menú Build Configuración -> Scenes in Build (Escenas de compilación).To load additive scenes during runtime, you must add these scenes to your Build Settings -> Scenes in Build menu first. Es importante que la escena raíz se muestra como la primera escena de la lista:It is important that the root scene is shown as the first scene in the list:

Menú crear Configuración escena para ejemplos de seguimiento de los ojos

3. Reproducir los ejemplos de seguimiento de los ojos en el editor de Unity3. Play the eye tracking samples in the Unity editor

Después de agregar las escenas de seguimiento de los ojos al Configuración de compilación y cargar EyeTrackingDemo-00-RootScene, hay una última cosa que puede que quiera comprobar: ¿Está habilitado el script "OnLoadStartScene" asociado a MixedRealityBasicSceneSetup GameObject?After adding the eye tracking scenes to the Build Settings and loading the EyeTrackingDemo-00-RootScene, there is one last thing you may want to check: Is the 'OnLoadStartScene' script that is attached to the MixedRealityBasicSceneSetup GameObject enabled? Esto es para que la escena raíz sepa qué escena de demostración se va a cargar primero.This is to let the root scene know which demo scene to load first.

Ejemplo del script de OnLoad_StartScene

¡Vamos a deshacer!Let's roll! Presione "Reproducir".Hit "Play"! Debería ver que aparecen varias gemas y el menú de la escena en la parte superior.You should see several gems appear and the scene menu at the top.

Captura de pantalla de ejemplo de la escena de selección de destino et

También debería observar un pequeño círculo semitransparente en el centro de la vista del juego.You should also notice a small semitransparent circle at the center of your game view. Esto actúa como un indicador (cursor) de la mirada con los ojos simulados: simplemente presione el botón derecho del mouse y mueva el mouse para cambiar su posición.This acts as an indicator (cursor) of your simulated eye gaze: Simply press down the right mouse button and move the mouse to change its position. Cuando el cursor mantenga el puntero sobre las gemas, observará que se ajustará al centro de la gema vista actualmente.When the cursor is hovering over the gems, you will notice that it will snap to the center of the currently viewed gem. Se trata de una excelente manera de probar si los eventos se desencadenan según lo previsto al "mirar" a un destino.This is a great way to test if events are triggered as expected when "looking" at a target. Tenga en cuenta que la mirada con los ojos simulados a través del control del mouse es un complemento bastante deficiente para nuestros movimientos oculares rápidos e involuntarias.Be aware that the simulated eye gaze via mouse control is a rather poor supplement to our rapid and unintentional eye movements. Sin embargo, es excelente para probar la funcionalidad básica antes de iterar en el diseño implementando en el HoloLens 2 dispositivo.However, it is great for testing the basic functionality before iterating on the design by deploying it to the HoloLens 2 device. Volver a la escena de ejemplo de seguimiento de los ojos: la gema gira siempre que se mira y se puede destruir "mirarla" y ...Returning to our eye tracking sample scene: The gem rotates as long as being looked at and can be destroyed by "looking" at it and ...

  • Presionar Entrar (que simula decir "seleccionar")Pressing Enter (which simulates saying "select")
  • Decir "seleccionar" en el micrófonoSaying "select" into your microphone
  • Al presionar Espacio para mostrar la entrada de la mano simulada, haga clic en el botón izquierdo del mouse para realizar una acción de acercamiento simulada.While pressing Space to show the simulated hand input, click the left mouse button to perform a simulated pinch

Se describe con más detalle cómo puede lograr estas interacciones en nuestro tutorial Selección de destino compatible con los ojos.We describe in more detail how you can achieve these interactions in our Eye-Supported Target Selection tutorial.

Al mover el cursor hasta la barra de menús superior de la escena, observará que el elemento que se mantiene el mouse se resaltará de forma sutil.When moving the cursor up to the top menu bar in the scene, you will notice that the currently hovered item will highlight subtly. Puede seleccionar el elemento resaltado actualmente mediante uno de los métodos de confirmación descritos anteriormente (por ejemplo, presionar Entrar).You can select the currently highlighted item by using one of the above described commit methods (e.g., pressing Enter). De este modo, puede cambiar entre las distintas escenas de ejemplo de seguimiento de los ojos.This way you can switch between the different eye tracking sample scenes.

4. Cómo probar subescciones específicas4. How to test specific sub scenes

Al trabajar en un escenario específico, es posible que no quiera pasar por el menú de la escena cada vez.When working on a specific scenario, you may not want to go through the scene menu every time. En su lugar, puede que quiera empezar directamente desde la escena en la que está trabajando actualmente al presionar el botón Reproducir.Instead, you may want to start directly from the scene that you are currently working on when pressing the Play button. No se preocupe.No problem! Esto es lo que puede hacer:Here is what you can do:

  1. Carga de la escena raízLoad the root scene

  2. En la escena raíz, deshabilite el script "OnLoadStartScene".In the root scene, disable the 'OnLoadStartScene' script

  3. Arrastre y coloque una de las escenas de prueba de seguimiento de los ojos que se describen a continuación (o cualquier otra escena) en la vista Jerarquía, como se muestra en la captura de pantalla siguiente.Drag and drop one of the eye tracking test scenes that are described below (or any other scene) into your Hierarchy view as shown in the screenshot below.

    Ejemplo de escena de suma

  4. Presione Reproducir.Press Play

Tenga en cuenta que la carga de la sub escena como esta no es persistente: esto significa que si implementa la aplicación en el dispositivo HoloLens 2, solo cargará la escena raíz (suponiendo que aparezca en la parte superior de la compilación Configuración).Please note that loading the sub scene like this is not persistent: This means that if you deploy your app to the HoloLens 2 device, it will only load the root scene (assuming it appears at the top of your Build Settings). Además, al compartir el proyecto con otros usuarios, las sub escenas no se cargan automáticamente.Also, when you share your project with others, the sub scenes are not automatically loaded.


Ahora que sabe cómo hacer que las escenas de ejemplo de seguimiento de los ojos de MRTK funcionen, vamos a continuar profundizando en cómo seleccionar hologramas con los ojos: Selecciónde destino compatible con los ojos.Now that you know how to get the MRTK eye tracking example scenes to work, let's continue with diving deeper into how to select holograms with your eyes: Eye-supported target selection.


Vuelva a "Eye Tracking in the MixedRealityToolkit" (Seguimiento de los ojos en MixedRealityToolkit)Back to "Eye tracking in the MixedRealityToolkit"