8. Uso del seguimiento ocular8. Using eye-tracking

En este tutorial, aprenderá a habilitar el seguimiento ocular para HoloLens 2 y agregará el seguimiento ocular a los objetos para desencadenar acciones cuando el usuario los mire.In this tutorial, you will learn how to enable eye-tracking for HoloLens 2 and add eye-tracking to objects to trigger actions when the user looks at the objects.

Nota

Si también va a implementar este proyecto en HoloLens (primera generación), tenga en cuenta que el seguimiento ocular solo es compatible con HoloLens 2.If you are also deploying this project to HoloLens (1st generation), note that eye-tracking is only supported on HoloLens 2.

ObjetivosObjectives

  • Aprender a habilitar el seguimiento ocular para HoloLens 2Learn how to enable eye-tracking for HoleLens 2
  • Aprender a usar el seguimiento ocular para desencadenar la acciónLearn how to use eye-tracking to trigger action

Asegurarse de que está habilitada la funcionalidad de entrada de miradaEnsuring the Eye Gaze Input capability is enabled

En el menú de Unity, seleccione Mixed Reality Toolkit > Utilities (Utilidades) > Configure Unity Project (Configurar proyecto de Unity) para abrir la ventana MRTK Project Configurator (Configurador de proyecto de MRTK) y, a continuación, en la sección UWP Capabilities (Funcionalidades para UWP), verifique que la opción Enable Eye Gaze Input Capability (Habilitar funcionalidad de entrada de mirada) esté atenuada:In the Unity menu, select Mixed Reality Toolkit > Utilities > Configure Unity Project to open the MRTK Project Configurator window, then in the UWP Capabilities section, verify that Enable Eye Gaze Input Capability is greyed out:

Ventana MRTK Project Configurator (Configurador del proyecto MRTK) de Unity

Nota

La funcionalidad de entrada de mirada con los ojos debe haberse habilitado durante las instrucciones de Aplicación de la configuración de MRTK Project Configurator al configurar el proyecto de Unity al principio de esta serie de tutoriales.The Gaze Input capability should have been enabled during the Apply the MRTK Project Configurator settings instructions when you configured the Unity project at the beginning of this tutorial series. Sin embargo, si no está habilitada, asegúrese de habilitarla ahora.However, if it is not enabled, make sure you enable it now.

Habilitar la mirada con los ojos en el proveedor de miradaEnabling eye based gaze in the gaze provider

En la ventana Jerarquía, seleccione el objeto MixedRealityToolkit y, a continuación, en la ventana Inspector, seleccione la pestaña MixedRealityToolkit > Input (Entrada) y realice los pasos siguientes:In the Hierarchy window, select the MixedRealityToolkit object, then in the Inspector window, select the MixedRealityToolkit > Input tab and take the following steps:

  • Clone el perfil DefaultHoloLens2InputSystemProfile y asígnele un nombre adecuado; por ejemplo, GettingStarted_HoloLens2InputSystemProfile.Clone the DefaultHoloLens2InputSystemProfile and give it a suitable name, for example, GettingStarted_HoloLens2InputSystemProfile
  • Expanda la sección Punteros.Expand the Pointers section
  • Clone el perfil DefaultMixedRealityPointerProfile y asígnele un nombre adecuado, por ejemplo, GettingStarted_MixedRealityPointerProfile.Clone the DefaultMixedRealityPointerProfile and give it a suitable name, for example, GettingStarted_MixedRealityPointerProfile
  • Busque la sección Gaze Settings (Configuración de mirada) y active la casilla Is Eye Tracking Enabled (Está habilitado el seguimiento ocular).Locate the Gaze Settings section and check the Is Eye Tracking Enabled checkbox

Componente MixedRealityToolkit de Unity con los perfiles recién creados aplicados y el seguimiento ocular habilitado

Sugerencia

Para recibir un recordatorio sobre cómo clonar perfiles de MRTK, puede consultar las instrucciones de Configuración de los perfiles de MRTK.For a reminder on how to clone MRTK profiles, you can refer to the Configuring the MRTK profiles instructions.

Habilitar el seguimiento ocular simulado para el editor de UnityEnabling simulated eye-tracking for the Unity editor

En la ventana Jerarquía, seleccione el objeto MixedRealityToolkit y, a continuación, en la ventana Inspector, navegue hasta la pestaña Entrada y, a continuación:In the Hierarchy window, select the MixedRealityToolkit object, then in the Inspector window, navigate to the Input tab, then:

  • Expanda la sección Input Data Providers (Proveedores de datos de entrada) > Input Simulation Service (Servicio de simulación de entrada).Expand the Input Data Providers > Input Simulation Service section
  • Clone el perfil DefaultMixedRealityInputSimulationProfile y asígnele un nombre adecuado, por ejemplo, GettingStarted_MixedRealityInputSimulationProfile.Clone the DefaultMixedRealityInputSimulationProfile and give it a suitable name, for example, GettingStarted_MixedRealityInputSimulationProfile
  • Busque la sección Eye Simulation (Simulación ocular) y active la casilla Simulate Eye Position (Simular posición ocular).Locate the Eye Simulation section and check the Simulate Eye Position checkbox

Componente de MixedRealityToolkit de Unity con el perfil recién creado aplicado y la simulación ocular habilitada

Agregar seguimiento ocular a los objetosAdding eye-tracking to objects

En la ventana Jerarquía, expanda el objeto RoverExplorer > Botones y, a continuación, para cada uno de los tres objetos de botón secundarios, expanda y seleccione el objeto SeeItSayItLabel > TextMeshPro:In the Hierarchy window, expand the RoverExplorer > Buttons object, then for each of the three child button objects, expand and select the SeeItSayItLabel > TextMeshPro object:

Unity con el objeto TextMeshPro seleccionado

Con los tres objetos TextMeshPro todavía seleccionados, en la ventana Inspector, use el botón Agregar componente para agregar los siguientes componentes a todos los objetos seleccionados:With the three TextMeshPro objects still selected, in the Inspector window, use the Add Component button to add the following components to all the selected objects:

  • Componente Colisionador de cuadroBox Collider component
  • Componente EyeTrackingTargetEyeTrackingTarget component

Unity con el objeto TextMeshPro seleccionado y componentes agregados

En la ventana Jerarquía, seleccione el objeto Hints (Sugerencias) > SeeItSayItLabel > TextMeshPro y, a continuación, configure el componente EyeTrackingTarget como se indica a continuación:In the Hierarchy window, select the Hints > SeeItSayItLabel > TextMeshPro object, then configure the EyeTrackingTarget component as follows:

  • En la sección de eventos On Look At Start ()In the On Look At Start () event section
    • Haga clic en el icono + pequeño para agregar otro evento.Click the small + icon to add another event
    • Asigne el propio objeto, es decir, el mismo objeto TextMeshPro, al campo None (Object) (Ninguno [objeto]).Assign the object itself, i.e. the same TextMeshPro object, to the None (Object) field
    • En la lista desplegable Ninguna función, seleccione TextMeshPro > float fontSize (fontSize tipo float) para actualizar el valor de esta propiedad cuando se desencadene el evento.From the No Function dropdown, select TextMeshPro > float fontSize to update this property value when the event is triggered
    • Establezca el argumento en 0,06 para aumentar el tamaño de fuente actual de 0,04 por el 50 %.Set the argument to 0.06 to increase the current font size of 0.04 by 50%
  • En la sección de eventos On Look Away ()In the On Look Away () event section
    • Haga clic en el icono + pequeño para agregar otro evento.Click the small + icon to add another event
    • Asigne el propio objeto, es decir, el mismo objeto TextMeshPro, al campo None (Object) (Ninguno [objeto]).Assign the object itself, i.e. the same TextMeshPro object, to the None (Object) field
    • En la lista desplegable Ninguna función, seleccione TextMeshPro > float fontSize (fontSize tipo float) para actualizar el valor de esta propiedad cuando se desencadene el evento.From the No Function dropdown, select TextMeshPro > float fontSize to update this property value when the event is triggered
    • Establezca el argumento en 0,04 para restablecer el tamaño de fuente en 0,04.Set the argument to 0.04 to reset the font size back to 0.04

Unity con el objeto TextMeshPro de Hints seleccionado y el componente EyeTrackingTarget configurado

Repita este paso para los objetos Explode (Explosión) > SeeItSayItLabel > TextMeshPro y Reset (Restablecer) > TextMeshPro.Repeat this step for the Explode > SeeItSayItLabel > TextMeshPro object and the Reset > SeeItSayItLabel > TextMeshPro object.

Ahora, si entra en el Modo de Juego y, a continuación, mantiene presionado el botón secundario del mouse mientras lo mueve hasta que la mirada entre en contacto con una de las etiquetas, verá cómo la fuente aumenta su tamaño en un 50 % y se restablece su tamaño original al apartar la mirada:If you now enter Game mode and then press-and-hold the right mouse button while moving your mouse until the gaze hit's one of the labels, you will see the font size increase by 50% and reset back to its original size when looking away:

Vista dividida del modo de reproducción de Unity con la mirada que en contacto con la etiqueta del botón Explode del destino de seguimiento ocular

EnhorabuenaCongratulations

En este tutorial, aprendió a habilitar el seguimiento ocular para HoloLens 2 y cómo agregar el seguimiento ocular a los objetos para desencadenar acciones cuando el usuario los mire.In this tutorial, you learned how to enable eye-tracking for HoloLens 2 and how to add eye-tracking to objects to trigger actions when the user looks at the objects.