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

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

  • Há âncoras próximas?
  • Qual a distância entre elas?

Exemplos

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

  • Um trabalhador precisa concluir uma tarefa que envolve a visita de 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. Primeiro, o aplicativo solicita as âncoras espaciais próximas e, em seguida, orienta o trabalho para o próximo local. O aplicativo mostra visualmente a direção geral e a distância para o próximo local.

  • Um museu cria âncoras espaciais em exibições públicas. Juntas, essas âncoras formam um tour de uma hora pelas exibições públicas essenciais do Museu. Em uma exibição pública, os visitantes podem abrir o aplicativo de realidade misturada do museu em seus dispositivos móveis. Em seguida, eles apontam a câmera do telefone no local para ver a direção geral e a distância para as outras exibições públicas no tour. Conforme um usuário se aproxima de uma exibição pública, o aplicativo atualiza a direção geral e a distância para ajudar a orientar o usuário.

Configurar o localizador de caminho

Um aplicativo que usa a direção da linha de visão e a distância entre âncoras para fornecer orientação está usando a localização de caminhos. A localização de caminhos é diferente da navegação curva a curva. Na navegação curva a curva, os usuários são guiados em relação às paredes, por meio de portas e entre andares. Com a localização de caminhos, o usuário obtém dicas sobre a direção geral do destino. Mas a inferência ou o conhecimento do espaço também ajuda o usuário a navegar pela estrutura até o destino.

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

  1. Planejar o espaço: decida quais locais dentro do espaço farão parte da experiência de localização de caminhos. Em nossos cenários, o supervisor de fábrica ou o coordenador do tour do museu pode decidir quais locais devem ser incluídos na experiência de localização de caminhos.

  2. Conectar âncoras: visite os locais escolhidos para criar âncoras espaciais. Você pode fazer isso no modo admin do aplicativo do usuário final ou em um aplicativo totalmente diferente. Você se conectará ou relacionará cada âncora às outras. O serviço mantém essas relações.

  3. Iniciar 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. O design geral deve determinar os locais onde os usuários podem entrar na experiência.

  4. Localizar âncoras próximas: depois que o usuário encontra uma âncora, o aplicativo pode solicitar âncoras próximas. Esse 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 fornecer orientação sobre a direção e a distância geral do usuário. Por exemplo, o feed de câmera no aplicativo pode mostrar um ícone e uma seta para representar cada destino possível, como mostra a imagem a seguir.

  6. Refinar as diretrizes: conforme o usuário anda, o aplicativo pode calcular periodicamente uma nova pose entre o dispositivo e a âncora de destino. O aplicativo continua a refinar as dicas de diretrizes que ajudam o usuário a chegar ao destino.

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

Conectar âncoras

Para criar uma experiência de localização de caminhos, primeiro você precisa posicionar as âncoras nos locais escolhidos. Nesta seção, vamos supor que o administrador do aplicativo já terminou esse trabalho.

Conectar â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 de MR/RA subjacente acompanha o movimento.
  3. Crie a Âncora B usando o mesmo CloudSpatialAnchorSession. As âncoras A e B agora estão conectadas. O serviço de Âncoras Espaciais mantém essa relação.
  4. Continue o procedimento para as âncoras restantes.

Conectar â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 ao mesmo tempo e depois criar e conectar mais âncoras.

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

  1. O aplicativo cria algumas âncoras (Âncoras A e B) em um CloudSpatialAnchorSession.
  2. Em outro momento, o aplicativo localiza uma dessas âncoras (por exemplo, Âncora A) usando um novo CloudSpatialAnchorSession.
  3. Caminhe até um novo local. A plataforma subjacente de realidade misturada ou realidade aumentada acompanha o movimento.
  4. Crie a Âncora 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 e você pode fazer isso definindo o NearAnchorCriteria em um CloudSpatialAnchorWatcher. Quando o resultado da consulta contiver a âncora de destino, a conexão de âncora será 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 falhar ao se conectar:

  • A plataforma subjacente de realidade misturada ou realidade aumentada perdeu o acompanhamento 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 da âncora não foi mantida.

Encontre o código de exemplo

Para encontrar um código de exemplo que mostre como conectar âncoras e fazer consultas próximas, confira Aplicativos de exemplo de Âncoras Espaciais.