Começar com rastreio de olhos no MRTK


Isto deve começar a usar o rastreio de olhos na sua aplicação MRTK Unity. Não se esqueça de consultar os nossos tutoriais de rastreio de olhos MRTK e amostras que demonstrem como usar a entrada de rastreio de olhos e fornecer convenientemente scripts que você pode reutilizar em seus projetos.


De volta a "Eye tracking in the MixedRealityToolkit"

Esta página cobre como configurar a sua cena MrTK de unidade para usar o rastreio de olhos na sua aplicação. O seguinte pressupõe que está a começar com uma nova cena. Em alternativa, pode consultar os nossos já configurados exemplos de rastreio de olhos MRTK com toneladas de grandes exemplos que pode construir diretamente.

Lista de verificação de requisitos de rastreio de olhos

Para que o rastreio dos olhos funcione corretamente, devem ser cumpridos os seguintes requisitos. Se você é novo no rastreio de olhos no HoloLens 2 e como o rastreio de olhos é configurado no MRTK, não se preocupe! Entraremos em detalhes sobre como abordar cada um deles mais abaixo.

  1. Um "Fornecedor de dados de olhar de olho" deve ser adicionado ao sistema de entrada. Isto fornece dados de rastreio de olhos da plataforma.
  2. A capacidade 'GazeInput' deve ser ativada no manifesto de aplicação. Esta capacidade pode ser definida na Unidade 2019, mas na Unidade 2018 e mais cedo esta capacidade só está disponível em Visual Studio e através da ferramenta de construção MRTK
  3. O HoloLens deve ser calibrado para o utilizador atual. Consulte a nossa amostra para detetar se um utilizador está calibrado ou não pelos olhos.

Uma nota sobre a capacidade gazeInput

A ferramenta de construção fornecida pelo MRTK (isto é, mixed Reality Toolkit - > Utilities - > Build Window) pode ativar automaticamente a capacidade gazeInput para si. Para isso, tem de se certificar de que a 'Capacidade de Entrada de Gaze' é verificada no separador 'Opções de Construção de Aplicativos':

Ferramentas de construção MRTK

Esta ferramenta irá encontrar o manifesto AppX após a construção da Unidade estar concluída e adicionar manualmente a capacidade GazeInput. Antes da Unidade 2019, esta ferramenta NÃO está ativa quando se utiliza a Janela de Construção incorporada da Unidade (ou seja, Arquivo - Construção Definições).

Antes da Unidade 2019, ao utilizar a janela de construção da Unidade, a capacidade terá de ser adicionada manualmente após a construção da Unidade, da seguinte forma:

  1. Abra o seu projeto de Visual Studio compilado e, em seguida, abra o 'Package.appxmanifest' na sua solução.
  2. Certifique-se de marcar a caixa de verificação 'GazeInput' em Capacidades. Se não vir uma capacidade de 'GazeInput', verifique se o seu sistema cumpre os pré-requisitos para a utilização do MRTK (em particular a versão SDK Windows).

Por favor, note: Só tens de fazer isto se te transformares numa nova pasta de construção. Isto significa que se já tivesse construído o seu projeto Unidade e configurado o appxmanifest antes e agora voltasse a ter como alvo a mesma pasta, não precisaria de reaplicar as suas alterações.

Configuração de rastreio de olhos passo a passo

Preparando a cena

Configurar o MixedRealityToolkit bastando clicar em 'Mixed Reality Toolkit - Configure...' na barra de menus.

Configuração MRTK

Criação dos perfis MRTK necessários para rastreio de olhos

Depois de configurar a sua cena MRTK, ser-lhe-á pedido que escolha um perfil para MRTK. Pode simplesmente selecionar DefaultMixedRealityToolkitConfigurationProfile e, em seguida, selecionar a opção 'Copy Personalize'.

Perfil MRTK

Criar um "fornecedor de dados de olhares oculares"

  • Clique no separador 'Inserir' no seu perfil MRTK.
  • Para editar o predefinido ( 'DefaultMixedRealityInputSystemProfile'), clique no botão 'Clone' ao lado. Aparece um menu 'Perfil clone'. Basta clicar em 'Clone' na parte inferior do menu.
  • Clique duas vezes no seu novo perfil de entrada, expanda os 'Input Data Providers'e selecione '+ Add Data Provider'.
  • Criar um novo fornecedor de dados:
    • Por tipo, selecione 'Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input' - 'WindowsMixedRealityEyeGazeDataProvider'
    • Para plataformas(s)selecione 'Windows Universal'.

Fornecedor de dados MRTK

Simulando rastreio de olhos no Editor de Unidade

Pode simular a entrada de rastreio de olhos no Editor de Unidade para garantir que os eventos são corretamente acionados antes de implementar a aplicação para o seu HoloLens 2. O sinal do olhar dos olhos é simulado simplesmente usando a localização da câmara como origem do olhar dos olhos e o vetor dianteiro da câmara como direção do olhar dos olhos. Embora isto seja ótimo para testes iniciais, por favor note que não é uma boa imitação para movimentos rápidos dos olhos. Para isso, é melhor garantir testes frequentes das suas interações baseadas nos olhos no HoloLens 2.

  1. Ativar o rastreio de olhos simulado:

    • Clique no separador 'Inserir' no seu perfil de configuração MRTK.
    • A partir daí, navegue para 'Input Data Providers' - 'Input Simulation Service'.
    • Clone o 'PrevaissityInfisimpulationSimpulationProfile' para fazer alterações no mesmo.
    • Verifique a caixa de verificação "Simular a posição ocular".

    Os olhos de MRTK simulam

  2. Desativar o cursor de olhar paraa cabeça predefinido : Em geral, recomenda-se evitar exibir um cursor de olhar ou, se for absolutamente necessário, torná-lo muito subtil. Recomendamos que esconda o cursor de olhar de cabeça padrão que está ligado ao perfil do ponteiro de olhar MRTK por padrão.

    • Navegue para o seu perfil de configuração MRTK - >> - >>
    • Clone o 'DefaultMixedRealityInputPointerProfile' para escoar alterações no mesmo.
    • No topo do «Pointer Definições»,deverá atribuir um pré-fabricado de cursor invisível ao «GazeCursor». Pode fazê-lo selecionando o prefácio 'EyeGazeCursor' da Fundação MRTK.

Habilitando o olhar no provedor de gaze

Em HoloLens v1, o olhar da cabeça foi usado como técnica de apontamento primário. Enquanto o head gaze ainda está disponível através do GazeProvider no MRTK que está ligado à sua Câmara,pode verificar para usar o olhar dos olhos, em vez de marcar a caixa de verificação 'IsEyeTrackingEnabled' nas definições de olhar do perfil do ponteiro de entrada.

Nota

Os desenvolvedores podem alternar entre o olhar baseado nos olhos e o olhar baseado na cabeça em código, alterando a propriedade 'IsEyeTrackingEnabled' de 'GazeProvider'.

Importante

Se algum dos requisitos de rastreio ocular não for cumprido, a aplicação voltará automaticamente ao olhar baseado na cabeça.

Aceder a dados de olhares

Agora que a sua cena está configurada para usar o rastreio de olhos, vamos dar uma olhada na forma de aceder a ele nos seus scripts: Aceder a dados de rastreio de olhos através do EyeGazeProvider e seleções de alvos apoiadas pelo olho.

Testar a sua aplicação Unidade num HoloLens 2

Construir a sua app com rastreio de olhos deve ser semelhante à forma como compilaria outras aplicações mrtk HoloLens 2. Certifique-se de que ativou a capacidade de "Entrada de Gaze", tal como descrito acima na secção A nota sobre a capacidade gazeInput.

Calibração ocular

Finalmente, por favor, não se esqueça de passar pela calibração dos olhos no seu HoloLens 2. O sistema de rastreio ocular não devolve nenhuma entrada se o utilizador não estiver calibrado. A maneira mais fácil de chegar à calibração é virando a viseira e voltando para baixo. Uma notificação do sistema deve parecer que lhe deve dar as boas-vindas como um novo utilizador e pedir-lhe para passar pela calibração ocular. Alternativamente, pode encontrar a calibração ocular nas definições do sistema: Definições > calibração do sistema > Executar > calibração ocular.

Permissão de rastreio de olhos

Ao iniciar a aplicação no seu HoloLens 2 pela primeira vez, deve aparecer uma solicitação pedindo permissão ao utilizador para usar o rastreio ocular. Se não está a aparecer, isso é geralmente uma indicação de que a capacidade 'GazeInput' não foi definida.

Depois de o pedido de permissão aparecer uma vez, não voltará a aparecer automaticamente. Se "negar a permissão de rastreio de olhos"pode repor isto em Definições - Privacidade - > Apps.