Acompanhamento ocular no HoloLens 2Eye tracking on HoloLens 2

Demonstração de controle de olho no MRTK

O HoloLens 2 permite um novo nível de contexto e compreensão humana dentro da experiência do Holographic, fornecendo aos desenvolvedores a capacidade de usar informações sobre o que o usuário está olhando.HoloLens 2 allows for a new level of context and human understanding within the holographic experience by providing developers with the ability to use information about what the user is looking at. Esta página explica como os desenvolvedores podem se beneficiar do controle de olho para vários casos de uso, bem como o que procurar ao projetar interações de usuário com base no olhar.This page explains how developers can benefit from eye tracking for various use cases, as well as what to look for when designing eye-gaze-based user interactions.

A API de acompanhamento de olho foi projetada com a privacidade de um usuário em mente, evitando a aprovação de qualquer informação identificável, especialmente qualquer biometria.Eye tracking API has been designed with a user’s privacy in mind, avoiding passing any identifiable information, particularly any biometrics. Para aplicativos compatíveis com acompanhamento de olho, o usuário precisa conceder permissão de aplicativo para usar informações de controle de olho.For eye-tracking capable applications, the user needs to grant app permission to use eye tracking information.

Suporte a dispositivosDevice support

RecursoFeature HoloLens (1ª geração)HoloLens (1st gen) HoloLens 2HoloLens 2 Headsets imersivosImmersive headsets
Olho-olharEye-gaze ✔️✔️

CalibragemCalibration

Para que o acompanhamento de olho funcione com precisão, cada usuário precisa passar por uma calibragem do usuário com acompanhamento de olho para o qual o usuário precisa examinar um conjunto de destinos Holographic.For eye tracking to work accurately, each user is required to go through an eye tracking user calibration for which the user has to look at a set of holographic targets. Isso permite que o dispositivo ajuste o sistema para uma experiência de exibição de qualidade mais confortável e mais segura para o usuário e para garantir o acompanhamento preciso do controle de olho ao mesmo tempo.This allows the device to adjust the system for a more comfortable and higher quality viewing experience for the user and to ensure accurate eye tracking at the same time.

O controle de olhos deve funcionar para a maioria dos usuários, mas há casos raros em que um usuário pode não ser capaz de calibrar com êxito.Eye tracking should work for most users, but there are rare cases in which a user might not be able to calibrate successfully. A calibragem pode falhar por vários motivos, incluindo, mas não se limitando a:Calibration might fail for various reasons, including but not limited to:

  • O usuário optou anteriormente pelo processo de calibragemThe user previously opted out of the calibration process
  • O usuário obteve distraídos e não segue os destinos de calibragemThe user got distracted and didn't follow the calibration targets
  • O usuário tem determinados tipos de lentes de contato e óculos para os quais o sistema ainda não dá suporteThe user has certain types of contact lenses and glasses which the system doesn't yet support
  • O usuário tem certos olhos physiologys, condições de olho ou cirurgia e olho que o sistema ainda não dá suporteThe user has certain eye physiology, eye conditions or had eye surgery which the system doesn't yet support
  • Fatores externos que impedem o acompanhamento de olho confiável, como manchas no visor ou óculos do HoloLens, luz direta direto intensa e occlusions devido ao cabelo na frente dos olhosExternal factors inhibiting reliable eye tracking such as smudges on the HoloLens visor or eyeglasses, intense direct sunlight and occlusions due to hair in front of the eyes

Os desenvolvedores devem certificar-se de fornecer suporte adequado para usuários para os quais os dados de acompanhamento de olho podem não estar disponíveis (que não podem ser calibrados com êxito).Developers should make sure to provide adequate support for users for whom eye tracking data may not be available (who are not able to calibrate successfully). Fornecemos recomendações para soluções de fallback na seção na parte inferior desta página.We have provided recommendations for fallback solutions in the section at the bottom of this page.

Para saber mais sobre a calibração e sobre como garantir uma experiência tranqüila, consulte nossa página de calibragem do usuário de acompanhamento de olho .To learn more about the calibration and about how to ensure a smooth experience, please check our eye tracking user calibration page.


Dados de acompanhamento de olho disponíveisAvailable eye tracking data

Antes de entrar em detalhes sobre os casos de uso específicos para a entrada olhar, queremos destacar rapidamente os recursos fornecidos pela API de acompanhamento ocular do HoloLens 2.Before going into detail about specific use cases for eye-gaze input, we want to briefly point out the capabilities that the HoloLens 2 Eye Tracking API provides. Os desenvolvedores obtêm acesso a um único olhar Ray (olhar e direção) a aproximadamente 30 fps (30 Hz) .Developers get access to a single eye-gaze ray (gaze origin and direction) at approximately 30 FPS (30 Hz). Para obter informações mais detalhadas sobre como acessar dados de controle de olho, consulte nossos guias de desenvolvedor para usar os olhos olhar no DirectX e olho-olhar no Unity.For more detailed information about how to access eye tracking data, please refer to our developer guides for using eye-gaze in DirectX and eye-gaze in Unity.

O olho previsto-olhar é aproximadamente de 1,5 graus no ângulo visual em torno do destino real (consulte a ilustração abaixo).The predicted eye-gaze is approximately within 1.5 degrees in visual angle around the actual target (see the illustration below). À medida que pequenas imprecisãos são esperadas, os desenvolvedores devem planejar uma margem em relação a esse valor de limite inferior (por exemplo, os graus de 2,0-3.0 podem resultar em uma experiência muito mais confortável).As slight imprecisions are expected, developers should plan for some margin around this lower-bound value (e.g., 2.0-3.0 degrees may result in a much more comfortable experience). Discutiremos como abordar a seleção de destinos pequenos em mais detalhes abaixo.We will discuss how to address the selection of small targets in more detail below. Para que o acompanhamento ocular funcione com precisão, cada usuário deve passar por uma calibração de usuário de acompanhamento ocular.For eye tracking to work accurately, each user is required to go through an eye tracking user calibration.

Tamanho ideal do alvo em uma distância de 2 metrosOptimal target size at 2 meter distance
Tamanho de destino ideal em uma distância de 2 medidoresOptimal target size at a 2-meter distance


Casos de usoUse cases

O acompanhamento ocular permite que os aplicativos acompanhem para que local o usuário está olhando em tempo real.Eye tracking enables applications to track where the user is looking in real time. Os casos de uso a seguir descrevem algumas interações que são possíveis com o acompanhamento de olho no HoloLens 2 em realidade misturada.The following use cases describe some interactions that are possible with eye tracking on HoloLens 2 in mixed reality. Observe que esses casos de uso ainda não fazem parte da experiência de shell Holographic (ou seja, a interface que você vê quando inicia o seu HoloLens 2).Please note that these use cases are not yet part of the Holographic Shell experience (i.e., the interface that you see when you start up your HoloLens 2). Você pode experimentar alguns deles no kit de ferramentas de realidade misturada, que fornece vários exemplos interessantes e eficientes para usar o acompanhamento de olho, como seleções de destino com suporte rápido e sem esforço, bem como percorrer automaticamente o texto com base no que o usuário observa.You can try some of them in the Mixed Reality Toolkit, which provides several interesting and powerful examples for using eye tracking, such as quick and effortless eye-supported target selections, as well as automatically scrolling through text based on what the user looks at.

Intenção do usuárioUser intent

As informações sobre onde e o que um usuário observa fornecem um contexto poderoso para outras entradas, como voz, mãos e controladores.Information about where and what a user looks at provides a powerful context for other inputs, such as voice, hands and controllers. Isso pode ser usado para várias tarefas.This can be used for various tasks. Por exemplo, isso pode variar desde o direcionamento rápido e sem esforço na cena simplesmente observando um holograma e dizendo "Select" (também Confira olhar e commit) ou "Put this..." e, em seguida, procurando onde o usuário deseja colocar o holograma e dizer "... lá " .For example, this can range from quickly and effortlessly targeting across the scene by simply looking at a hologram and saying "select" (also see gaze and commit) or "put this...", then looking over to where the user wants to place the hologram and say "...there". Exemplos para esse caso podem ser encontrados em Kit de Ferramentas de Realidade Misturada – Seleção de alvo com suporte ocular e Kit de Ferramentas de Realidade Misturada – Posicionamento de alvo com suporte ocular.Examples for this can be found in Mixed Reality Toolkit - Eye-supported Target Selection and Mixed Reality Toolkit - Eye-supported Target Positioning.

Além disso, um exemplo de intenção de usuário pode incluir o uso de informações sobre o que os usuários examinam para aprimorar o envolvimento com os agentes virtuais e os hologramas interativos.Additionally, an example for user intent might include using information about what users look at to enhance engagement with embodied virtual agents and interactive holograms. Por exemplo, os agentes virtuais podem adaptar as opções disponíveis e seu comportamento, com base no conteúdo exibido atualmente.For instance, virtual agents might adapt available options and their behavior, based on currently viewed content.

Ações implícitasImplicit actions

A categoria de ações implícitas está intimamente relacionada à intenção do usuário.The category of implicit actions closely relates to user intent. A ideia é que os hologramas ou os elementos da interface do usuário reagem de uma maneira instinctual que talvez nem pareça que o usuário esteja interagindo com o sistema, mas que o sistema e o usuário estejam em sincronia. Um exemplo é a rolagem automática baseada em olhar de olho em que o usuário pode ler um texto longo que inicia automaticamente a rolagem quando o usuário chega à parte inferior da caixa de texto para manter o usuário no fluxo de leitura, sem levantar um dedo.The idea is that holograms or user interface elements react in an instinctual way that may not even feel like the user is interacting with the system at all, but rather that the system and the user are in sync. One example is eye-gaze-based auto scroll where the user can read a long text which automatically starts scrolling once the user gets to the bottom of the textbox to keep the user in the flow of reading, without lifting a finger.
Um aspecto fundamental disso é que a velocidade da rolagem se adapta à velocidade de leitura do usuário.A key aspect of this is that the scrolling speed adapts to the reading speed of the user. Outro exemplo é o zoom e a panorâmica com suporte, em que o usuário pode se sentir como mergulhar exatamente em relação ao que ele está concentrado.Another example is eye-supported zoom and pan where the user can feel like diving exactly toward what he or she is focused on. Disparar e controlar a velocidade de zoom pode ser controlado por entrada por voz ou por mão, o que é importante para fornecer ao usuário a sensação de controle, evitando que seja sobrecarregado.Triggering and controlling zoom speed can be controlled by voice or hand input, which is important for providing the user with the feeling of control while avoiding being overwhelmed. Falaremos sobre essas considerações de design em mais detalhes abaixo.We will talk about these design considerations in more detail below. Uma vez ampliado, o usuário pode seguir, por exemplo, o curso de uma rua para explorar sua vizinhança simplesmente usando seus olhos olhars.Once zoomed in, the user can smoothly follow, for example, the course of a street to explore his or her neighborhood by simply using their eye-gaze. Exemplos de demonstração para esses tipos de interações podem ser encontrados na amostra do Kit de Ferramentas de Realidade Misturada – Navegação com suporte ocular.Demo examples for these types of interactions can be found in the Mixed Reality Toolkit - Eye-supported Navigation sample.

Casos de uso adicionais para ações implícitas podem incluir:Additional use cases for implicit actions may include:

  • Notificações inteligentes: Nunca se incomodar pelas notificações que aparecem logo onde você está olhando?Smart notifications: Ever get annoyed by notifications popping up right where you are looking? Levando em conta o que um usuário está prestando a atenção, você pode melhorar a experiência com notificações de compensação de onde o usuário está nuvens no momento.Taking into account what a user is paying attention to, you can make this experience better by offsetting notifications from where the user is currently gazing. Isso limita distrações e os descarta automaticamente quando o usuário termina de ler.This limits distractions and automatically dismisses them once the user is finished reading.
  • Hologramas de cuidadosa: Hologramas que reagem sutilmente ao serem gazeddos.Attentive holograms: Holograms that subtly react when being gazed upon. Isso pode variar de elementos de interface do usuário ligeiramente brilhantes, uma flor de intratação mais lenta para um cachorro virtual começando a olhar de volta para a usuária e wagging sua parte final.This can range from slightly glowing UI elements, a slowly blooming flower to a virtual dog starting to look back at the user and wagging its tail. Essa interação pode fornecer uma noção interessante de conectividade e satisfação em seu aplicativo.This interaction might provide an interesting sense of connectivity and satisfaction in your application.

Acompanhamento de atençãoAttention tracking

As informações sobre onde ou o que os usuários examinam podem ser uma ferramenta imensamente poderosa.Information on where or what users look at can be an immensely powerful tool. Ele pode ajudar a avaliar a usabilidade de designs e identificar problemas em fluxos de trabalho para torná-los mais eficientes.It can help assess usability of designs and identify problems in workflows to make them more efficient. A visualização e a análise de controle de olho são uma prática comum em várias áreas de aplicativo.Eye tracking visualization and analytics are a common practice in various application areas. Com o HoloLens 2, fornecemos uma nova dimensão para essa compreensão, pois os hologramas de 3D podem ser colocados em contextos reais e avaliados de acordo.With HoloLens 2, we provide a new dimension to this understanding as 3D holograms can be placed in real-world contexts and assessed accordingly. O Kit de ferramentas de realidade misturada fornece exemplos básicos para registrar e carregar dados de acompanhamento de olho e como visualizá-los.The Mixed Reality Toolkit provides basic examples for logging and loading eye tracking data and how to visualize them. A Microsoft dedica-se a facilitar a inovação, garantindo que os usuários tenham uma experiência informada e transparente com a forma como as informações de controle de olho são usadas.Microsoft is dedicated to facilitating innovation while ensuring that users have an informed and transparent experience with how their eye tracking information is used. Trabalharemos com nossas equipes de desenvolvedores e UX para fornecer diretrizes para terceiros a fim de garantir que as experiências sejam centralizadas em todo o usuário.We will work with our developers and UX teams to provide guidance for third parties to ensure that experiences are centered around the user.

Outros aplicativos nessa área podem incluir:Other applications in this area may include:

  • Visualização de olhar de olho remoto: Visualizações de olhar de olho remoto: visualize o que os colaboradores remotos estão observando, para poder fornecer comentários imediatos e facilitar o processamento de informações mais precisos.Remote eye-gaze visualization: Remote eye-gaze visualizations: Visualize what remote collaborators are looking at, to be able to provide immediate feedback and facilitate more accurate information processing.
  • Estudos de pesquisa do usuário: O controle de atenção pode ajudar os pesquisadores a obter mais informações sobre como os usuários percebem e se envolvem com o ambiente natural, sem interferir, para projetar mais interações de computadores humanos instinctuals.User research studies: Attention tracking can help researchers get more insights into how users perceive and engage with the natural environment, without interfering, to design more instinctual human-computer-interactions. O controle de olho pode fornecer informações que não são diretamente articuladas pelos participantes do estudo, que, de outra forma, podem ser facilmente perdidas pelo pesquisador.Eye tracking can provide information that is not directly articulated by participants in the study, which otherwise might be easily missed by the researcher.
  • Monitoramento de desempenho e treinamento: Pratique e otimize a execução de tarefas identificando afunilamentos com mais eficiência no fluxo de execução.Training and performance monitoring: Practice and optimize the execution of tasks by identifying bottlenecks more effectively in the execution flow. O controle de olho pode fornecer informações naturais, em tempo real e objetivas para ajudar a melhorar o treinamento, a produtividade e a segurança no local de trabalho.Eye tracking can provide natural, real-time and objective information to help improve training, productivity, and safety in the workplace.
  • Avaliações de design, marketing e pesquisa de consumidor: O controle de olho permite que empresas comerciais executem estudos de marketing e de consumidor em ambientes reais ou analisem o que captura a atenção de um usuário para melhorar o design de produtos ou espaços.Design evaluations, marketing and consumer research: Eye tracking enables commercial companies to perform marketing and consumer studies in real-world environments or analyze what captures a user’s attention to improve product or space design.

Casos de uso adicionaisAdditional use cases

  • Jogos: Já quis ter superpotências?Gaming: Ever wanted to have superpowers? Esta é a sua chance!Here's your chance! Você pode levitater os hologramas por estrelas.You can levitate holograms by staring at them. Ressaltar as emissões de laser dos seus olhos-Experimente no RoboRaid para o HoloLens 2.Shoot laser beams from your eyes - try it out in RoboRaid for HoloLens 2. Transforme inimigos em pedra ou congele-os.Turn enemies into stone or freeze them. Use sua visão de raios X para explorar prédios.Use your x-ray vision to explore buildings. O limite é sua imaginação.Your imagination is the limit! Fique atento ao fato de não sobrecarregar o usuário – para saber mais, confira nossas diretrizes de design de entrada com base no olhar.Beware of not overwhelming the user though - to find out more, check out our eye-gaze-based input design guidelines.

  • Avatars expressivos: Controle de olho ajuda em avatars 3D mais expressivos usando dados de acompanhamento de olho ao vivo para animar os olhos do avatar que indicam o que o usuário está olhando.Expressive avatars: Eye tracking aids in more expressive 3D avatars by using live eye tracking data to animate the avatar's eyes that indicate what the user is looking at.

  • Entrada de texto: O controle de olho pode ser usado como uma alternativa para a entrada de texto de baixo esforço, especialmente quando a fala ou as mãos são inconvenientes de usar.Text entry: Eye tracking can be used as an alternative for low-effort text entry, especially when speech or hands are inconvenient to use.


Usando olho-olhar para interaçãoUsing eye-gaze for interaction

A criação de uma interação que aproveita o direcionamento de olho rápido pode ser desafiadora.Building an interaction that takes advantage of fast-moving eye targeting can be challenging. Por um lado, os olhos se movem tão rapidamente que você precisa ter cuidado ao usar a entrada olhar, pois os usuários podem achar a experiência difícil ou atrapalhar.On the one hand, the eyes move so fast that you need to be careful on how to use eye-gaze input, because otherwise users may find the experience overwhelming or distracting. Por outro lado, você também pode criar experiências verdadeiramente mágicos que vão para seus usuários!On the other hand, you can also create truly magical experiences that will excite your users! Para ajudá-lo, Confira nossa visão geral das principais vantagens, desafios e recomendações de design para olhar de interação.To help you, check out our overview of key advantages, challenges and design recommendations for eye-gaze for interaction.

Soluções de fallback quando o acompanhamento de olho não está disponívelFallback solutions when eye tracking is not available

Em casos raros, os dados de acompanhamento ocular podem não estar disponíveis.In rare cases, eye tracking data might not be available. Isso pode ser devido a diferentes motivos dos quais as mais comuns são listadas abaixo:This can be due to different reasons from which the most common are listed below:

  • Falha do sistema ao calibrar o usuário.The system failed to calibrate the user.
  • O usuário ignorou a calibração.The user skipped the calibration.
  • O usuário é calibrado, mas decidiu não dar permissão ao seu aplicativo para usar seus dados de controle de olho.The user is calibrated, but decided to not give permission to your app to use their eye tracking data.
  • O usuário tem óculos exclusivo ou alguma condição de olho que ainda não dá suporte ao sistema.The user has unique eyeglasses or some eye condition that the system does not yet support.
  • Fatores externos que impedem o acompanhamento de olho confiável, como manchas no visor ou óculos do HoloLens, luz de sol direta intensa e occlusions devido ao cabelo na frente dos olhos.External factors inhibiting reliable eye tracking such as smudges on the HoloLens visor or eyeglasses, intense direct sunlight and occlusions due to hair in front of the eyes.

Portanto, os desenvolvedores devem garantir que haja suporte de fallback apropriado para esses usuários.Hence, developers should ensure that there is appropriate fallback support for these users. Na página controle de olho no DirectX , explicamos as APIs necessárias para detectar se os dados de acompanhamento de olho estão disponíveis.On the Eye Tracking in DirectX page, we explain the APIs required to detect whether eye tracking data is available.

Embora alguns usuários possam ter decidido a revogar o acesso aos seus dados de controle de olho e estão ok com a compensação de uma experiência de usuário inferior à privacidade de não fornecer acesso aos seus dados de controle de olho, em alguns casos isso pode não ser intencional.While some users may have consciously decided to revoke access to their eye tracking data and are ok with the trade-off of an inferior user experience to the privacy of not providing access to their eye tracking data, in some cases this may be unintentional.
Portanto, se seu aplicativo usar o acompanhamento de olho, e essa for uma parte importante da experiência, recomendamos que você se comunique claramente com o usuário.Hence, if your app uses eye tracking, and this is an important part of the experience, we recommend clearly communicating this to the user.
Informando, de maneira adequada, o usuário por que o acompanhamento de olho é essencial para seu aplicativo (talvez até mesmo listar alguns recursos avançados) para experimentar todo o potencial do seu aplicativo, pode ajudar o usuário a entender melhor o que está desistindo.Kindly informing the user why eye tracking is critical for your application (maybe even listing some enhanced features) to experience the full potential of your application, can help the user to better understand what they are giving up.
Ajude o usuário a identificar por que o acompanhamento de olhos pode não estar funcionando (com base nas verificações acima) e oferecer algumas sugestões para solucionar problemas em potencial rapidamente.Help the user identify why eye tracking may not be working (based on the above checks) and offer some suggestions to quickly troubleshoot potential issues.
Por exemplo, se você puder detectar que o sistema dá suporte ao controle de olho, o usuário será calibrado e terá, até mesmo, dada a sua permissão, mas nenhum dado de acompanhamento de olho será recebido, isso poderá apontar para alguns outros problemas, como manchas ou olhos obstruídodos.For example, if you can detect that the system supports eye tracking, the user is calibrated and has even given their permission, yet no eye tracking data is received, then this may point to some other issues such as smudges or the eyes being occluded.
Observe que há casos raros de usuários para os quais o acompanhamento de olho pode simplesmente não funcionar.Please note that there are rare cases of users for whom eye tracking may simply not work.
Portanto, seja obedientes disso, permitindo descartar ou até mesmo desabilitar lembretes para habilitar o acompanhamento de olho em seu aplicativo.Hence, please be respectful of that by allowing to dismiss or even disable reminders for enabling eye tracking in your app.

Fallback para aplicativos usando olhar de olho como um ponteiro de entrada primárioFallback for apps using eye-gaze as a primary input pointer

Se seu aplicativo usa olhar como uma entrada de ponteiro para selecionar rapidamente os hologramas em toda a cena, mas os dados de acompanhamento de olho não estão disponíveis, é recomendável fazer o fallback para Head-olhar e começar a mostrar o cursor Head-olhar.If your app uses eye-gaze as a pointer input to quickly select holograms across the scene, yet eye tracking data is unavailable, we recommend falling back to head-gaze and start showing the head-gaze cursor. É recomendável usar um tempo limite (por exemplo, 500 – 1500 MS) para determinar se deseja ou não alternar.We recommend using a timeout (e.g., 500–1500 ms) to determine whether to switch or not. Essa ação impede que os cursores apareçam toda vez que o sistema pode perder o controle rapidamente devido a movimentos ou winks de olhos rápidos e cintilações.This action prevents cursors from appearing every time the system may briefly lose tracking due to fast eye motions or winks and blinks. Se você for um desenvolvedor do Unity, o fallback automático para Head-olhar já será tratado no kit de ferramentas da realidade misturada.If you are a Unity developer, the automatic fallback to head-gaze is already handled in the Mixed Reality Toolkit. Se você for um desenvolvedor do DirectX, precisará lidar com esse comutador por conta própria.If you are a DirectX developer, you need to handle this switch yourself.

Fallback para outros aplicativos específicos de acompanhamento de olhoFallback for other eye-tracking-specific applications

Seu aplicativo pode usar olhar de olho de forma exclusiva, adaptada especificamente aos olhos.Your app may use eye-gaze in a unique way that is tailored specifically to the eyes. Por exemplo, animar os olhos de um avatar ou atenção com base nos olhos calor depender de informações precisas sobre a atenção do Visual.For example, animating an avatar’s eyes or for eye-based attention heatmaps relying on precise information about visual attention. Nesse caso, não há nenhum fallback claro.In this case, there is no clear fallback. Se o acompanhamento de olho não estiver disponível, esses recursos podem simplesmente ser desabilitados.If eye tracking is not available, these capabilities may simply need to be disabled. Novamente, é recomendável comunicar claramente isso com o usuário que talvez não esteja ciente de que a funcionalidade não está funcionando.Again, we recommend to clearly communicate this to the user who may be unaware that the capability is not working.


Essa página espero que você tenha uma boa visão geral para começar a entender a função de acompanhamento de olho e a entrada olhar para o HoloLens 2.This page has hopefully provided you with a good overview to get you started understanding the role of eye tracking and eye-gaze input for HoloLens 2. Para começar a desenvolver, confira nossas informações sobre a função de olhar para interagir com hologramas, olhar de olho no Unity e nos olhos-olhar no DirectX.To get started developing, check out our information on the role of eye-gaze for interacting with holograms, eye-gaze in Unity and eye-gaze in DirectX.

Consulte tambémSee also