Relações de ancoragem e localização de caminhos nas Âncoras Espaciais do Azure

Usando relações de âncora, você pode criar âncoras conectadas em um espaço e, em seguida, fazer perguntas como estas:

  • Existem âncoras nas proximidades?
  • A que distância estão?

Exemplos

Você pode usar âncoras conectadas em casos como estes:

  • Um trabalhador precisa completar uma tarefa que envolve visitar vários locais em uma fábrica industrial. A fábrica tem âncoras espaciais em cada local. Um HoloLens ou aplicativo móvel ajuda a orientar o trabalhador de um local para o outro. O aplicativo primeiro pede as âncoras espaciais próximas e, em seguida, guia o trabalhador para o próximo local. O aplicativo mostra visualmente a direção geral e a distância até o próximo local.

  • Um museu cria âncoras espaciais em exposições públicas. Juntas, essas âncoras formam um tour de uma hora pelas exposições públicas essenciais do museu. Em uma exibição pública, os visitantes podem abrir o aplicativo de realidade mista do museu em seu dispositivo móvel. Em seguida, eles apontam a câmera do telefone ao redor do espaço para ver a direção geral e a distância para as outras exibições públicas no passeio. À medida que um usuário caminha em direção a uma exibição pública, o aplicativo atualiza a direção geral e a distância para ajudar a guiá-lo.

Configurar a localização de caminhos

Um aplicativo que usa a direção da linha de visão e a distância entre as âncoras para fornecer orientação está usando a localização de caminhos. A localização de caminhos é diferente da navegação passo a passo. Na navegação passo a passo, os utilizadores são guiados pelas paredes, pelas portas e entre os pisos. Com a descoberta de caminhos, o usuário recebe dicas sobre a direção geral do destino. Mas a inferência ou conhecimento do espaço também ajuda o usuário a navegar pela estrutura até o destino.

Para construir uma experiência de encontrar caminhos, primeiro prepare um espaço para a experiência e desenvolva um aplicativo com o qual os usuários irão interagir. Estas são as etapas conceituais:

  1. Planeje o espaço: decida quais locais dentro do espaço farão parte da experiência de encontrar caminhos. Em nossos cenários, o supervisor de fábrica ou o coordenador de visita ao museu pode decidir quais locais incluir na experiência de encontrar caminhos.

  2. Conectar âncoras: Visite os locais escolhidos para criar âncoras espaciais. Você pode fazer isso em um modo de administração do aplicativo de usuário final ou em um aplicativo totalmente diferente. Você conectará ou relacionará cada âncora com as outras. O serviço mantém essas relações.

  3. Inicie a experiência do usuário final: os usuários executam o aplicativo para localizar uma âncora, que pode estar em qualquer um dos locais escolhidos. Seu design geral deve determinar os locais onde os usuários podem inserir a experiência.

  4. Encontre âncoras próximas: depois que o usuário encontrar uma âncora, o aplicativo poderá solicitar âncoras próximas. Este procedimento retorna uma pose entre o dispositivo e essas âncoras.

  5. Orientar o usuário: o aplicativo pode usar a pose para cada uma dessas âncoras para dar orientação sobre a direção geral e a distância do usuário. Por exemplo, o feed da câmera no aplicativo pode mostrar um ícone e uma seta para representar cada destino potencial, como mostra a imagem a seguir.

  6. Refine a orientação: à medida que o usuário caminha, o aplicativo pode calcular periodicamente uma nova pose entre o dispositivo e a âncora de destino. O aplicativo continua refinando as dicas de orientação que ajudam o usuário a chegar ao destino.

    An example of how an app can show way-finding guidance

Ligar âncoras

Para construir uma experiência de encontrar caminhos, primeiro você precisa colocar as âncoras nos locais escolhidos. Nesta seção, assumiremos que o administrador do aplicativo já concluiu esse trabalho.

Conecte âncoras em uma única sessão

Para conectar âncoras:

  1. Caminhe até o primeiro local e crie a Âncora A usando um CloudSpatialAnchorSession.
  2. Caminhe até o segundo local. A plataforma MR/AR subjacente acompanha o movimento.
  3. Crie o Anchor B usando o mesmo CloudSpatialAnchorSession. As âncoras A e B estão agora ligadas. O serviço de Âncoras Espaciais mantém essa relação.
  4. Continue o procedimento para as âncoras restantes.

Conecte âncoras em várias sessões

Você pode conectar âncoras espaciais em várias sessões. Usando esse método, você pode criar e conectar algumas âncoras de uma só vez e, posteriormente, criar e conectar mais âncoras.

Para conectar âncoras em várias sessões:

  1. O aplicativo cria algumas âncoras (Âncoras A e B) em uma CloudSpatialAnchorSession.
  2. Em um momento diferente, o aplicativo localiza uma dessas âncoras (por exemplo, Anchor A) usando um novo CloudSpatialAnchorSession.
  3. Caminhe até um novo local. A plataforma subjacente de realidade mista ou aumentada acompanha o movimento.
  4. Crie o Anchor C usando o mesmo CloudSpatialAnchorSession. As âncoras A, B e C agora estão conectadas. O serviço de Âncoras Espaciais mantém essa relação.

Você pode continuar este procedimento para mais âncoras e mais sessões ao longo do tempo.

Verificar conexões de âncora

O aplicativo pode verificar se duas âncoras estão conectadas emitindo uma consulta para âncoras próximas, o que você faz definindo o NearAnchorCriteria em um CloudSpatialAnchorWatcher. Quando o resultado da consulta contém a âncora de destino, a conexão âncora é verificada. Se as âncoras não estiverem conectadas, o aplicativo poderá tentar conectá-las novamente.

Aqui estão algumas razões pelas quais as âncoras podem não conseguir se conectar:

  • A plataforma subjacente de realidade mista ou aumentada perdeu o controle durante o processo de conexão de âncoras.
  • Devido a um erro de rede durante a comunicação com o serviço Âncoras Espaciais, a conexão de âncora não pôde ser persistida.

Localizar código de exemplo

Para encontrar um código de exemplo que mostra como conectar âncoras e fazer consultas próximas, consulte Aplicativos de exemplo de âncoras espaciais.