Ativar a API Geospatial para o app Unity (AR Foundation) destinado ao Android

Defina as configurações do app para que ele possa usar a API Geospatial.

Pré-requisitos

Verifique se você entendeu os conceitos fundamentais de RA e como configurar uma sessão do ARCore antes de continuar.

Consulte a Introdução à API Geospatial para mais informações sobre a API Geospatial.

Se você não tem experiência no desenvolvimento com o ARCore, consulte os Primeiros passos para ver informações sobre requisitos de software e hardware, pré-requisitos e outras informações específicas das plataformas que você está usando.

Para usar a API ARCore Geospatial, seu projeto precisa oferecer suporte à AR Foundation e às Extensões do ARCore para AR Foundation.

Ativar a API ARCore

Antes de usar o sistema de posicionamento visual (VPS, na sigla em inglês) no seu app, ative a API ARCore em um projeto novo ou atual do Google Cloud. Esse serviço é responsável por hospedar, armazenar e resolver âncoras geoespaciais.

É preferível usar autorização sem chave, mas a autorização por chave de API também é aceita.

Adicionar bibliotecas necessárias ao app

Depois de autorizar o app a chamar a API ARCore, adicione bibliotecas para ativar os recursos geoespaciais no app.

  1. Navegue até Edit > Project Settings > XR Plug-In Management > ARCore Extensions.
  2. Em Recursos opcionais, selecione Geoespacial.

Ativar recursos geoespaciais na configuração da sessão

Depois que a funcionalidade geoespacial for ativada no seu app, ative-os na configuração da sessão de RA para que ele possa se comunicar com a API ARCore:

  1. Verifique se a pasta Assets do projeto contém um objeto scriptable ARCoreExtensionsConfig. Para criar uma, clique com o botão direito do mouse no painel Assets e selecione Create > XR > ARCore Extensions Config.
  2. Selecione o objeto de script ARCoreExtensionsConfig na sua pasta Assets e defina o Geospatial Mode como Enabled.

  3. Configure o objeto de jogo ARCore Extensions para usar a configuração ARCoreExtensionsConfig. No painel Hierarchy, localize o objeto de jogo ARCore Extensions que você criou quando configurou inicialmente as extensões do ARCore e conecte o campo ARCore Extensions Config ao objeto de script ARCoreExtensionsConfig na sua pasta Assets.

Solicitar que o usuário permita o uso de dados do dispositivo

Os apps que usam a API ARCore Geospatial precisam apresentar ao usuário uma solicitação para confirmar e permitir o uso dos dados do dispositivo. Consulte Requisitos de privacidade do usuário para mais informações.

Verificar a compatibilidade do dispositivo

Nem todos os dispositivos com suporte ao ARCore também são compatíveis com a API Geospatial. Para verificar a compatibilidade do dispositivo do usuário, chame AREarthManager.IsGeospatialModeSupported(). Se isso retornar FeatureSupported.Unsupported, não tente configurar a sessão.

Pedir permissões de localização ao usuário durante a execução

A ARCore Extensions solicita automaticamente as permissões de localização apropriadas quando o modo geoespacial está ativado em ARCoreExtensions.Update(). Se o usuário não conceder a permissão de localização precisa, a sessão não será retomada, e o erro "permissão não concedida" será exibido. Esse é um erro de encerramento e requer uma reinicialização para acionar a solicitação de permissão novamente.

Verificar a disponibilidade geoespacial na localização atual do dispositivo

Como a API Geospatial usa uma combinação de VPS e GPS para determinar uma pose geoespacial, a API pode ser usada desde que o dispositivo possa determinar a localização. Em áreas com baixa precisão de GPS, como espaços internos e ambientes urbanos densos, a API vai usar a cobertura de VPS para gerar poses de alta precisão. Em condições típicas, espera-se que o VPS forneça precisão de posição de aproximadamente 5 metros e precisão de rotação de 5 graus. Use AREarthManager.CheckVpsAvailability() para determinar se um determinado local tem cobertura de VPS.

A API Geospatial também pode ser usada em áreas que não têm cobertura de VPS. Em ambientes ao ar livre com pouca ou nenhuma obstrução aérea, o GPS pode ser suficiente para gerar uma pose com alta precisão.

A seguir