Monitorização ocular no HoloLens 2
HoloLens 2 permite um novo nível de contexto e compreensão humana na experiência holográfica, proporcionando aos programadores a capacidade de utilizarem informações sobre o que o utilizador está a ver. Esta página explica como os programadores podem beneficiar do controlo ocular de vários casos de utilização e o que procurar ao conceber interações de utilizadores com base no olhar atento.
A API de Controlo Ocular foi concebida tendo em conta a privacidade de um utilizador; evita a transmissão de quaisquer informações identificáveis, nomeadamente quaisquer biometrias. Para aplicações compatíveis com controlo ocular, o utilizador tem de conceder permissão à aplicação para utilizar informações de controlo ocular.
Suporte de dispositivos
Funcionalidade | HoloLens (1.ª geração) | HoloLens 2 | Headsets envolventes |
Olhar para os olhos | ❌ | ✔️ | ❌ |
Demonstração de conceitos de design de controlo de cabeças e olhos
Se quiser ver os conceitos de estrutura do Head and Eye Tracking em ação, consulte a nossa demonstração de vídeo Designing Holograms - Head Tracking e Eye Tracking abaixo. Quando terminar, continue para obter uma descrição mais detalhada sobre tópicos específicos.
Este vídeo foi retirado da aplicação "Designing Holograms" HoloLens 2. Transfira e desfrute da experiência completa aqui.
Calibragem
Para que o controlo ocular funcione com precisão, cada utilizador tem de passar por uma calibragem de utilizador de monitorização ocular para a qual o utilizador tem de olhar para um conjunto de destinos holográficos. Isto permite que o dispositivo ajuste o sistema, resultando numa experiência de visualização mais confortável e de maior qualidade para o utilizador e garantindo um controlo ocular preciso ao mesmo tempo.
O controlo ocular deve funcionar para a maioria dos utilizadores, mas existem casos raros em que um utilizador não consegue calibrar com êxito. A calibragem pode falhar por vários motivos, incluindo, mas não se limitando a:
- O utilizador optou anteriormente por não participar no processo de calibragem.
- O utilizador distraiu-se e não seguiu os destinos de calibragem.
- O utilizador tem determinados tipos de lentes de contacto e óculos que o sistema ainda não suporta.
- O utilizador tem determinada fisiologia ocular ou condições oculares ou foi operado aos olhos, que o sistema ainda não suporta.
- Fatores externos que inibem o controlo ocular fiável, como manchas no visor ou óculos do HoloLens, luz solar direta intensa e oclusões devido ao cabelo à frente dos olhos.
Os programadores devem certificar-se de que fornecem suporte adequado aos utilizadores para os quais os dados de controlo ocular podem não estar disponíveis (que não conseguem calibrar com êxito). Fornecemos recomendações para soluções de contingência na secção na parte inferior desta página.
Para saber mais sobre a calibragem e como garantir uma experiência suave, veja a nossa página de calibragem de utilizadores de monitorização ocular .
Dados de controlo ocular disponíveis
O controlo ocular no HoloLens 2 permite que os programadores desenhem cenários de interação e entrada naturais e intuitivos. A API de Controlo ocular fornece as informações sobre o que o utilizador está a ver como um raio de olhar único (origem e direção do olhar) a aproximadamente 30 FPS (30 Hz). Para que o controlo ocular funcione com precisão, cada utilizador tem de passar por uma calibragem de utilizadores de controlo ocular. Para obter informações mais detalhadas sobre como aceder a dados de controlo ocular, consulte os nossos guias de programação para utilizar o olhar atento no DirectX e olhar de olho no Unity.
O olhar previsto está aproximadamente dentro de 1,5 graus em ângulo visual em torno do destino real (veja a ilustração abaixo). Esperam-se pequenas imprecisões, pelo que os programadores devem planear alguma margem em torno deste valor inferior (por exemplo, 2,0-3,0 graus pode resultar numa experiência muito mais confortável). Vamos falar sobre como abordar a seleção de destinos pequenos mais detalhadamente abaixo.
Tamanho de destino ideal a uma distância de 2 metros
Dados de Controlo Ocular Expandidos
As APIs de controlo ocular alargada permitem que os programadores desbloqueiem o próximo nível de cenários inovadores, como avaliação de saúde, monitorização e terapia, fornecendo informações mais detalhadas sobre o olhar do utilizador.
As APIs de controlo ocular alargada fornecem acesso a valores de controlo ocular existentes e novas funcionalidades, como vetores individuais (de olhar para a esquerda e direita), taxas de fotogramas suportadas e a capacidade de definir a taxa de fotogramas de controlo ocular para 30, 60 ou 90fps. Para utilizar a API de Controlo Ocular Alargado, veja os nossos guias para programadores para utilizar APIs de Controlo Ocular Alargado para nativo ou Unity.
Casos de utilização
O controlo ocular permite que as aplicações monitorizem onde o utilizador está a procurar em tempo real. Os seguintes casos de utilização descrevem algumas interações que são possíveis com o controlo ocular sobre HoloLens 2 na realidade mista. Estes casos de utilização ainda não fazem parte da experiência do Holographic Shell (a interface que vê quando inicia a sua HoloLens 2). Pode experimentar alguns deles no Mixed Reality Toolkit. O Toolkit fornece vários exemplos interessantes e poderosos para utilizar o controlo ocular, como seleções de destino rápidas e sem esforço suportadas pelos olhos e deslocamento automático de texto com base no que o utilizador olha.
Intenção do utilizador
As informações sobre onde e o que um utilizador olha fornecem um contexto poderoso para outras entradas, como voz, mãos e controladores. Isto pode ser utilizado para várias tarefas. Por exemplo, o utilizador pode direcionar rapidamente e sem esforço para toda a cena ao olhar para um holograma e dizer "selecionar" (também ver olhar e consolidar) ou "colocar isto..." e, em seguida, olhar para onde quer colocar o holograma e dizer "... lá". Pode encontrar exemplos no Mixed Reality Toolkit – Seleção de Destino suportada pelos olhos e Mixed Reality Toolkit – Posicionamento de Destino suportado pelos olhos.
Além disso, um exemplo de intenção do utilizador pode incluir a utilização de informações sobre o que os utilizadores procuram para melhorar a interação com agentes virtuais incorporados e hologramas interativos. Por exemplo, os agentes virtuais podem adaptar as opções disponíveis e o respetivo comportamento, com base no conteúdo atualmente visualizado.
Ações implícitas
A categoria de ações implícitas está intimamente relacionada com a intenção do utilizador. A ideia é que os hologramas ou os elementos da interface de utilizador reajam de forma intuitiva que pode nem sentir que o utilizador está a interagir com o sistema, mas sim que o sistema e o utilizador estão sincronizados. Um exemplo é o deslocamento automático baseado nos olhos , onde o utilizador pode ler um texto longo que começa automaticamente a deslocar-se assim que o utilizador chegar à parte inferior da caixa de texto. Isto mantém o utilizador no fluxo de leitura sem levantar um dedo. Um aspeto fundamental disto é que a velocidade de deslocamento se adapta à velocidade de leitura do utilizador.
Outro exemplo é o zoom e o painel suportados por olhos , onde o utilizador pode sentir que está a mergulhar exatamente em direção ao que quer que esteja focado.
O acionamento e o controlo da velocidade do zoom podem ser controlados por entrada de voz ou mão, o que é importante para proporcionar ao utilizador a sensação de controlo, evitando, ao mesmo tempo, ficar sobrecarregado. Vamos falar sobre estas considerações de design mais detalhadamente abaixo. Uma vez ampliado, o utilizador pode seguir sem problemas, por exemplo, o curso de uma rua para explorar o seu bairro usando o seu olhar atento. Pode encontrar exemplos de demonstração para estes tipos de interações no Mixed Reality Toolkit – Exemplo de Navegação suportada pelos olhos.
Outros casos de utilização para ações implícitas podem incluir:
- Notificações inteligentes: Alguma vez fica irritado com as notificações que aparecem mesmo no meio da sua vista? Pode melhorar esta experiência ao desfasar as notificações de onde o utilizador está atualmente a observar. Isto limita as distrações e dispensa-as automaticamente quando o utilizador terminar de ler.
- Hologramas atentos: Estes são hologramas que reagem de uma forma subtil quando são olhados. Isto pode variar de elementos de IU ligeiramente brilhantes a uma flor lentamente florescendo até um cão virtual começando a olhar para o utilizador e abanando a cauda. Esta interação pode proporcionar uma sensação interessante de conectividade e satisfação na sua aplicação.
Controlo de atenção
As informações sobre onde ou o que os utilizadores veem podem ser uma ferramenta extremamente poderosa. Pode ajudar a avaliar a utilização de designs e a identificar problemas nos fluxos de trabalho para torná-los mais eficientes. A visualização e a análise do controlo ocular são uma prática comum em várias áreas da aplicação. Com HoloLens 2, fornecemos uma nova dimensão para este entendimento; os hologramas 3D podem ser colocados em contextos reais e avaliados em conformidade.
O Mixed Reality Toolkit fornece exemplos básicos para registar e carregar dados de controlo ocular e como visualizá-los.
A Microsoft dedica-se a facilitar a inovação, garantindo ao mesmo tempo que os utilizadores têm uma experiência informada e transparente com a forma como as informações de controlo ocular são utilizadas. Continuaremos a trabalhar com as nossas equipas de programadores e UX para fornecer orientações para terceiros para garantir que as experiências estão centradas no utilizador.
Outras aplicações nesta área podem incluir:
- Visualização remota de olhar para os olhos: Visualize o que os colaboradores remotos estão a ver. Isto pode fornecer feedback imediato e facilitar o processamento de informações mais preciso.
- Estudos de investigação de utilizadores: O controlo de atenção pode fornecer informações sobre a forma como os utilizadores veem e interagem com o ambiente natural sem interferirem. Isto pode ajudar os programadores a conceber interações humano-computador mais intuitivas. O rastreio ocular pode fornecer informações que não são diretamente articuladas pelos participantes no estudo e podem ser facilmente perdidas pelo investigador.
- Monitorização da preparação e do desempenho: Pratique e otimize a execução de tarefas ao identificar estrangulamentos de forma mais eficaz no fluxo de execução. O controlo ocular pode fornecer informações naturais, em tempo real e objetivas para ajudar a melhorar a formação, a produtividade e a segurança no local de trabalho.
- Avaliações de design, marketing e investigação de consumidores: O controlo ocular permite que as empresas comerciais realizem estudos de marketing e de consumidor em ambientes reais ou analisem o que chama a atenção de um utilizador para melhorar o design de produtos ou espaços.
Outros casos de utilização
- Jogos: Alguma vez quis ter superpoderes? Aqui está a sua oportunidade!
Pode levitar hologramas ao olhar para os mesmos.
Atire em raios laser dos seus olhos, experimente-o em RoboRaid por HoloLens 2.
Transforme inimigos em pedra ou congele-os.
Utilize a sua visão de raio-x para explorar edifícios.
A tua imaginação é o limite! No entanto, tenha em atenção que não sobrecarrega o utilizador. Para saber mais, veja as nossas diretrizes de design de entrada baseadas em olhares.
Avatares expressivos: O controlo ocular ajuda em avatares 3D mais expressivos ao utilizar dados de controlo de olhos dinâmicos para animar os olhos do avatar e fazê-los seguir o que o utilizador está a ver.
Entrada de texto: O controlo ocular pode ser utilizado como uma alternativa para a entrada de texto de baixo esforço, especialmente quando a voz ou as mãos são inconvenientes de utilizar.
Utilizar o olhar para a interação
Criar uma interação que tire partido da segmentação rápida dos olhos pode ser um desafio. Uma vez que os olhos podem mover-se rapidamente, se não tiver cuidado sobre como utilizar a entrada de olhar para os olhos, os utilizadores poderão achar a experiência esmagadora ou distrativa. No entanto, este desafio vale a pena porque o controlo ocular permite-lhe criar experiências verdadeiramente mágicas que irão excitar os seus utilizadores! Para o ajudar, veja a nossa descrição geral das principais vantagens, desafios e recomendações de conceção para olhar para a interação.
Soluções de contingência quando o controlo ocular não está disponível
Em casos raros, os dados de controlo ocular podem não estar disponíveis. Isto pode acontecer por vários motivos: os mais comuns estão listados abaixo:
- O sistema não conseguiu calibrar o utilizador.
- O utilizador ignorou a calibragem.
- O utilizador está calibrado, mas decidiu não dar permissão à sua aplicação para utilizar os respetivos dados de controlo ocular.
- O utilizador tem óculos exclusivos ou alguma condição ocular que o sistema ainda não suporta.
- Fatores externos inibem o rastreio de olhos fiável, como manchas no visor ou óculos holoLens, luz solar direta intensa e oclusões por causa do cabelo à frente dos olhos.
Os programadores devem garantir que existe um suporte de contingência adequado para estes utilizadores. Na página Controlo Ocular no DirectX , explicamos as APIs necessárias para detetar se os dados de controlo ocular estão disponíveis.
Alguns utilizadores podem decidir que uma maior privacidade é mais importante para eles do que a experiência melhorada que o controlo ocular pode proporcionar, pelo que revogam intencionalmente o acesso aos seus dados de controlo ocular. No entanto, em alguns casos, esta revogação pode não ser intencional. Se a sua aplicação utilizar o controlo ocular e esta for uma parte importante da experiência, recomendamos que comunique isto claramente ao utilizador. Explicar ao utilizador como o controlo ocular desbloqueia todo o potencial da sua aplicação pode ajudá-lo a compreender melhor o que está a desistir. Se o controlo ocular estiver ativado, mas não estiver a funcionar, ajude o utilizador a identificar e a resolver o problema com a lista de verificação acima como guia. Por exemplo, se conseguir detetar que o sistema suporta o controlo ocular e o utilizador está calibrado e deu a sua permissão, mas não são recebidos dados de controlo ocular, tal poderá apontar para problemas como manchas ou a ocultamento dos olhos.
Há casos raros em que o rastreio ocular não funciona para alguém e não há nenhuma razão óbvia. Respeite isso ao permitir que o utilizador dispense ou desative lembretes para ativar o controlo ocular na sua aplicação.
Recue para aplicações que utilizam o olhar como um ponteiro de entrada principal
Se a sua aplicação utilizar o olhar como uma entrada de ponteiro para selecionar rapidamente hologramas em toda a cena, mas os dados de controlo ocular não estiverem disponíveis, recomendamos que volte ao olhar para a cabeça e mostre o cursor de olhar para a cabeça. Recomendamos que utilize um tempo limite (por exemplo, 500 a 1500 ms) para determinar se deve ou não mudar. Esta ação impede que os cursores apareçam sempre que o sistema pode perder o controlo por breves instantes devido a movimentos rápidos nos olhos ou piscadelas e pisca. Se for um programador do Unity, a contingência automática para o olhar principal já é processada no Mixed Reality Toolkit. Se for um programador do DirectX, terá de processar este comutador.
Recue para outras aplicações específicas do controlo de olhos
A sua aplicação pode utilizar o olhar de uma forma única adaptada especificamente aos olhos, por exemplo, animando os olhos de um avatar ou os máscaras térmicos de atenção baseados nos olhos que dependem de informações precisas sobre a atenção visual. Neste tipo de caso, não existe uma contingência clara. Se o controlo ocular não estiver disponível, estas capacidades poderão ter de ser desativadas. Mais uma vez, recomendamos que comunique claramente isto ao utilizador, que poderá não saber que a capacidade não está a funcionar.
Esperamos que esta página lhe tenha proporcionado uma boa descrição geral para começar a compreender o papel do controlo ocular e da entrada de olhar para os olhos do HoloLens 2. Para começar a desenvolver, veja as nossas informações sobre o papel do olhar para interagir com hologramas, olhar para os olhos no Unity e olhar para os olhos no DirectX.