Interação baseada em olhar no HoloLens 2Eye-gaze-based interaction on HoloLens 2

Demonstração de controle de olho no MRTK

Um dos nossos novos recursos empolgantes no HoloLens 2 é o acompanhamento dos olhos.One of our exciting new capabilities on HoloLens 2 is eye tracking. Em nossa página de acompanhamento de olho no HoloLens 2 , mencionamos a necessidade de cada usuário passar por uma calibração, fornecia algumas diretrizes para desenvolvedores e casos de uso destacados para acompanhamento de olho.On our Eye tracking on HoloLens 2 page, we mentioned the need for each user to go through a Calibration, provided some developer guidance, and highlighted use cases for eye tracking. Olho – a entrada olhar ainda é um novo tipo de entrada do usuário e há muito a aprender.Eye-gaze input is still a new type of user input and there's a lot to learn.

Embora a entrada olhar seja usada apenas sutilmente em nossa experiência de shell Holographic (a interface do usuário que você vê ao iniciar o seu HoloLens 2), vários aplicativos, como o "HoloLens playground", demonstram ótimos exemplos de como as informações de olhar de entrada podem ser adicionadas à mágica da sua experiência de Holographic.While eye-gaze input is only used subtly in our Holographic Shell experience (the user interface that you see when you start your HoloLens 2), several apps, such as the "HoloLens Playground", showcase great examples on how eye-gaze input can add to the magic of your holographic experience. Nesta página, discutiremos as considerações de design para integrar a entrada olhar para interagir com seus aplicativos Holographic.On this page, we discuss design considerations for integrating eye-gaze input to interact with your holographic applications.

Você aprenderá sobre as principais vantagens e também desafios exclusivos que acompanham a entrada olhar.You'll learn about key advantages and also unique challenges that come with eye-gaze input. Com base nesses, fornecemos várias recomendações de design para ajudá-lo a criar interfaces de usuário com suporte olhar.Based on these, we provide several design recommendations to help you create satisfying eye-gaze-supported user interfaces.

Suporte a dispositivosDevice support

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

Diretrizes de design de entrada olharEye-gaze input design guidelines

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. Nesta seção, resumimos as principais vantagens e desafios a serem considerados ao projetar seu aplicativo.In this section, we summarize the key advantages and challenges to consider when designing your application.

Benefícios da entrada olharBenefits of eye-gaze input

  • Apontar com alta velocidade.High speed pointing. O olho capacidade é o capacidade mais rápido de reagir no corpo humano.The eye muscle is the fastest reacting muscle in the human body.

  • Pouco esforço.Low effort. Quase nenhum movimento físico é necessário.Barely any physical movements are necessary.

  • Capacidade de ser implícito.Implicitness. Geralmente descritas pelos usuários como "leitura mental", as informações sobre os movimentos de um usuário permitem que o sistema saiba qual alvo o usuário planeja participar.Often described by users as "mind reading", information about a user's eye movements lets the system know which target the user plans to engage.

  • Canal de entrada alternativo.Alternative input channel. O olho-olhar pode fornecer uma poderosa entrada de suporte para a mão e entrada de voz em anos de experiência de usuários com base em sua coordenação de olhos.Eye-gaze can provide a powerful supporting input for hand and voice input building on years of experience from users based on their hand-eye coordination.

  • Atenção visual.Visual attention. Outro benefício importante é a possibilidade de inferir o que um usuário está prestando a atenção.Another important benefit is the possibility to infer what a user is paying attention to. Isso pode ajudar em várias áreas de aplicativos que vão desde a avaliação de diferentes designs para auxiliar em interfaces de usuário mais inteligentes e indicações sociais aprimoradas para comunicação remota.This can help in various application areas ranging from more effectively evaluating different designs to aiding in smarter user interfaces and enhanced social cues for remote communication.

Resumindo, usar olhar como uma entrada oferece um sinal de entrada contextual rápido e sem esforço.In a nutshell, using eye-gaze as an input offers a fast and effortless contextual input signal. Isso é poderoso quando combinado com outras entradas, como voz e entrada manual , para confirmar a intenção do usuário.This is powerful when combined with other inputs such as voice and manual input to confirm the user's intent.

Desafios de olhar de olho como uma entradaChallenges of eye-gaze as an input

Embora os olhos olhar possam ser usados para criar experiências de usuário satisfatórias, que fazem você sentir como um Superhero, também é importante saber o que não é bom para se considerar apropriadamente.While eye-gaze can be used to create satisfying user experiences, which make you feel like a superhero, it's also important to know what it isn't good at to appropriately account for this. A lista a seguir aborda alguns desafios a serem considerados e como solucioná-los ao trabalhar com a entrada de olhar de olho:The following list discusses some challenges to consider and how to address them when working with eye-gaze input:

  • Seu olho-olhar é "Always on" No momento em que você abre suas tampas de olho, seus olhos começam a fixatingr sobre as coisas no ambiente.Your eye-gaze is "always on" The moment you open your eye lids, your eyes start fixating on things in the environment. Reagir a todas as aparências que você fizer e emitir ações acidentalmente, porque você examinou algo por muito tempo, resultaria em uma experiência que não satisfaça.Reacting to every look you make and accidentally issuing actions, because you looked at something for too long, would result in an unsatisfying experience. É recomendável combinar olhars de olho com um comando de voz, um gesto de mão, um clique de botão ou uma pesquisa estendida para disparar a seleção de um destino (para obter mais informações, consulte olhar e commit).We recommend combining eye-gaze with a voice command, hand gesture, button click or extended dwell to trigger the selection of a target (for more information, see eye-gaze and commit). Essa solução também permite um modo no qual o usuário pode procurar livremente sem ser sobrecarregado por disparar involuntariamente algo.This solution also allows for a mode in which the user can freely look around without being overwhelmed by involuntarily triggering something. Esse problema também deve ser considerado ao criar comentários sobre Visual e auditoria ao examinar um destino.This issue should also be considered when designing visual and auditory feedback when looking at a target. Tente não sobrecarregar o usuário com efeitos pop-out imediatos ou sons de foco.Try not to overwhelm the user with immediate pop-out effects or hover sounds. A sutileza é fundamental.Subtlety is key. Discutiremos algumas práticas recomendadas para isso mais adiante, ao falar sobre recomendações de design.We'll discuss some best practices for this further below when talking about design recommendations.

  • Observação vs. controle Imagine que você deseja endireitar precisamente uma fotografia em sua parede.Observation vs. control Imagine that you want to precisely straighten a photograph on your wall. Você olha para as bordas da fotografia e em volta dela para ver se ela fica bem alinhada.You look at its borders and its surroundings to see if it aligns well. Agora imagine como você faria isso quando quiser usar seu olho-olhar como uma entrada para mover a imagem.Now imagine how you would do that when you want to use your eye-gaze as an input to move the picture. Difícil, não é mesmo?Difficult, isn't it? Isso descreve a função dupla de olho-olhar quando é necessário para entrada e controle.This describes the double role of eye-gaze when it's required both for input and control.

  • Sair antes de clicar em: Para seleções de destino rápido, a pesquisa mostrou que o olhar de olho do usuário pode passar antes de concluir um clique manual (por exemplo, um toque de ar).Leave before click: For quick target selections, research has shown that a user's eye-gaze can move on before concluding a manual click (for example, an air tap). Preste atenção especial à sincronização do sinal de olho rápido olhar com uma entrada de controle mais lenta (por exemplo, voz, mãos, controlador).Pay special attention to synchronizing the fast eye-gaze signal with slower control input (for example, voice, hands, controller).

  • Destinos pequenos: Você sabe a sensação quando tenta ler um texto que é um pouco pequeno demais para ler confortavelmente?Small targets: Do you know the feeling when you try to read text that is just a bit too small to read comfortably? Essa sensação de sobrecarregar seus olhos pode fazer com que você fique cansado e desgastado, pois você tenta reajustar os olhos para se concentrar melhor.This straining feeling on your eyes can cause you to feel tired and worn out, because you try to readjust your eyes to focus better. Essa é uma sensação que você pode invocar em seus usuários ao forçá-los a selecionar destinos que são muito pequenos em seu aplicativo usando o direcionamento de olho.This is a feeling you might invoke in your users when forcing them to select targets that are too small in your application using eye targeting. Para o design, visando criar uma experiência agradável e confortável para seus usuários, recomendamos que os alvos tenham um ângulo visual de, pelo menos, 2°, preferencialmente maior.For your design, to create a pleasant and comfortable experience for your users, we recommend that targets should be at least 2° in visual angle, preferably larger.

  • Olhos irregulares – movimentos olhars Nossos olhos realizam movimentos rápidos do fixação da para o fixação da.Ragged eye-gaze movements Our eyes perform rapid movements from fixation to fixation. Se você examinar os caminhos de exame dos movimentos oculares registrados, poderá ver que eles parecem irregulares.If you look at scan paths of recorded eye movements, you can see that they look ragged. Seus olhos se movem rapidamente e em saltos ESPONTANEOS em comparação com os olhar ou os movimentos de mão.Your eyes move quickly and in spontaneous jumps in comparison to head-gaze or hand motions.

  • Confiabilidade de rastreamento: A precisão do controle de olho pode diminuir um pouco a luz de alteração à medida que seus olhos se ajustam às novas condições.Tracking reliability: Eye tracking accuracy may degrade a little in changing light as your eyes adjust to the new conditions. Embora isso não deva afetar necessariamente o design do aplicativo, pois a precisão deve estar dentro da limitação de 2 °, pode ser necessário que o usuário calibre novamente.While this shouldn't necessarily affect your application design, as the accuracy should be within the 2° limitation, it may be necessary for the user to calibrate again.

Recomendações sobre designDesign recommendations

Veja a seguir uma lista de recomendações de design específicas com base nas vantagens e nos desafios descritos para a entrada de olhar de olho:The following is a list of specific design recommendations based on the described advantages and challenges for eye-gaze input:

  1. Olho-olhar não é o mesmo que Head-olhar:Eye-gaze isn't the same as Head-gaze:

    • Considere se movimentos de olho rápidos e irregulares se ajustam à sua tarefa de entrada: Embora nossos movimentos de olho rápidos e irregulares sejam ótimos na seleção rápida de destinos em nosso campo de exibição, ele é menos aplicável para tarefas que exigem trajetórias de entrada suaves (por exemplo, desenho ou enfocar anotações).Consider whether fast yet ragged eye movements fit your input task: While our fast and ragged eye movements are great at quickly selecting targets across our field of view, it's less applicable for tasks that require smooth input trajectories (for example, drawing or encircling annotations). Nesse caso, apontar com a mão ou a cabeça deve ser preferencial.In this case, hand or head pointing should be preferred.

    • Evite anexar algo diretamente ao olhar de olho do usuário (por exemplo, um controle deslizante ou cursor).Avoid attaching something directly to the user’s eye-gaze (for example, a slider or cursor). Com cursores, isso pode resultar em um efeito de "cursor fleeing" devido a pequenos deslocamentos no sinal olhar de olho projetado.With cursors, this may result in a "fleeing cursor" effect because of slight offsets in the projected eye-gaze signal. Com um controle deslizante, ele pode entrar em conflito com a função dupla de controle do controle deslizante com seus olhos, enquanto também deseja verificar se o objeto está no local correto.With a slider, it can conflict with the double role of controlling the slider with your eyes while also wanting to check whether the object is at the correct location. Para o exemplo do controle deslizante, faz mais sentido usar olhar de olho em combinação com gestos de mão.For the example of the slider, it makes more sense to use eye-gaze in combination with hand gestures. Isso significa que o usuário pode alternar de forma rápida e fácil entre vários controles deslizantes, levantando sua mão e Pinçando o polegar e o dedo de índice para pegar e movê-lo.This means that the user could quickly and effortlessly switch among many sliders, raising up their hand and pinching their thumb and index finger to grab and move it. Quando o pinçamento é liberado, o controle deslizante para de mover.When the pinch is released, the slider stops moving. Os usuários poderiam ficar sobrecarregados e distraídosdos, especialmente se o sinal for impreciso para esse usuário.Users could become overwhelmed and distracted, especially if the signal is imprecise for that user.

  2. Combine olho-olhar com outras entradas: A integração do controle de olho com outras entradas, como gestos à mão, comandos de voz ou prensas de botão, oferece várias vantagens:Combine eye-gaze with other inputs: The integration of eye tracking with other inputs, such as hand gestures, voice commands or button presses, provides several advantages:

    • Permita a observação gratuita: Considerando que a principal função de nossos olhos é observar nosso ambiente, é importante que os usuários tenham permissão para examinar sem disparar comentários ou ações (visuais, auditivas e assim por diante).Allow for free observation: Given that the main role of our eyes is to observe our environment, it's important that users are allowed to look around without triggering any (visual, auditory, and so on) feedback or actions. Combinar o controle de olho com outro controle de entrada permite a transição tranqüila entre a observação de acompanhamento de olho e os modos de controle de entrada.Combining eye tracking with another input control allows smooth transitioning between eye tracking observation and input control modes.

    • Provedor de contexto poderoso: Usar informações sobre onde e o que o usuário está observando ao dizer um comando de voz ou usar um gesto de mão permite canalizar diretamente a entrada entre os campos de exibição.Powerful context provider: Using information about where and what the user is looking at while saying a voice command or using a hand gesture allows seamlessly channeling the input across the field-of-view. Por exemplo: digamos "colocar isso" para selecionar e posicionar um holograma de forma rápida e fluente em toda a cena observando um destino e seu destino pretendido.For example: Say "put that there" to quickly and fluently select and position a hologram across the scene by looking at a target and its intended destination.

    • Precisa de sincronização de entradas de multimodal: Combinar movimentos de olhos rápidos com entradas mais complexas, como comandos de voz longos ou gestos de mão, tem o risco que o usuário já continua a examinar antes que o comando de entrada extra seja concluído e reconhecido.Need for synchronizing multimodal inputs: Combining rapid eye movements with more complex inputs, such as long voice commands or hand gestures, bears the risk that the user already continues to look around before the extra input command is finished and recognized. Se você criar seus próprios controles de entrada (por exemplo, gestos de mão personalizada), certifique-se de registrar o início dessa entrada ou duração aproximada para correlacioná-lo com o que um usuário examinou no passado.If you create your own input controls (for example, custom hand gestures), make sure to log the onset of this input or approximate duration to correlate it with what a user had looked at in the past.

  3. Comentários sutis para entrada de acompanhamento de olho: É útil fornecer comentários quando um destino é examinado para indicar que o sistema está funcionando como pretendido, mas deve ser mantido sutil.Subtle feedback for eye tracking input: It's useful to provide feedback when a target is looked at to indicate that the system is working as intended but should be kept subtle. Isso pode incluir a mesclagem lenta de entrada e saída, Destaques visuais ou a realização de outros comportamentos de destino sutis, como movimentos lentos, como o aumento ligeiramente do tamanho do destino.This can include slowly blending in and out, visual highlights, or doing other subtle target behaviors, such as slow motions, such as slightly increasing the target size. Isso indica que o sistema detectou corretamente que o usuário está olhando para um destino sem interromper desnecessariamente o fluxo de trabalho atual do usuário.This indicates that the system correctly detected that the user is looking at a target without unnecessarily interrupting the user’s current workflow.

  4. Evite impor movimentos de olho não naturais como entrada: Não force os usuários a usar movimentos de olho específicos (gestos de olhar) para disparar ações em seu aplicativo.Avoid enforcing unnatural eye movements as input: Don't force users to use specific eye movements (gaze gestures) to trigger actions in your application.

  5. Conta para imprecisãos: Distinguemos dois tipos de impedições, que são perceptíveis para os usuários: deslocamento e Tremulação.Account for imprecisions: We distinguish two types of imprecisions, which are noticeable to users: offset and jitter. A maneira mais fácil de resolver um deslocamento é fornecer destinos suficientemente grandes para interagir com o.The easiest way to address an offset is to provide sufficiently large targets to interact with. É recomendável que você use um ângulo visual maior que 2 ° como referência.It's suggested that you use a visual angle greater than 2° as a reference. Por exemplo, sua miniatura é de cerca de 2 ° no ângulo visual quando você amplia seu braço.For instance, your thumbnail is about 2° in visual angle when you stretch out your arm. Isso resulta nas seguintes diretrizes:This leads to the following guidance:

    • Não force os usuários a selecionar pequenos destinos.Don't force users to select tiny targets. A pesquisa mostrou que se os destinos são suficientemente grandes e o sistema é projetado bem, os usuários descrevem suas interações como sem esforço e mágico.Research has shown that if targets are sufficiently large and system are designed well, users describe their interactions as effortless, and magical. Se os alvos ficarem muito pequenos, os usuários descreverão a experiência como cansativa e frustrante.If targets become too small, users describe the experience as fatiguing and frustrating.

Esta página forneceu uma boa visão geral para ajudá-lo a começar a entender os olhos olhar como uma entrada na realidade misturada.This page provided you with a good overview to get you started understanding eye-gaze as an input in mixed reality. Para começar a desenvolver, confira nossas informações sobre olhar no Unity e olhar de olho no DirectX.To get started developing, check out our information on eye-gaze in Unity and eye-gaze in DirectX.

Veja tambémSee also