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

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

Pré-requisitos

Entenda os conceitos fundamentais de RA. e como configurar uma sessão do ARCore antes de continuar.

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

Se você está começando a desenvolver com o ARCore, consulte Primeiros passos para obter 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 ter o suporte Fundamentos de RA e as 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, você precisa Ative a API ARCore em um projeto novo ou atual do Google Cloud. Esse serviço é responsável pela hospedar, armazenar e resolver âncoras geoespaciais.

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

Adicionar as bibliotecas necessárias ao app

Depois de autorizar seu app a chamar a API ARCore, você precisa adicionar bibliotecas ao ativar recursos geoespaciais no app.

  1. Acesse Editar > Configurações do projeto > Gerenciamento de plug-in XR > Extensões do ARCore. Verifique se a opção Suporte ao iOS ativado está selecionada.
  2. Em Recursos opcionais, selecione Geoespacial.

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

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

  1. Verifique se a pasta Assets do projeto contém um objeto ARCoreExtensionsConfig de script. Para criar um, clique com o botão direito do mouse no painel Recursos e selecione Criar > XR > Configuração de extensões do ARCore.
  2. Selecione o objeto de script ARCoreExtensionsConfig na pasta Recursos e defina Modo geoespacial como Ativado.

  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 as extensões do ARCore inicialmente e conecte o campo ARCore Extensions Config ao objeto scriptável 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 de dados do dispositivo. Consulte Requisitos de privacidade do usuário para mais informações imprecisas ou inadequadas.

Verificar a compatibilidade do dispositivo

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

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

Ativar os serviços de localização do Unity em um script que aciona o ambiente de execução solicitações de permissão, faça o seguinte:

  1. Em Project Settings > iOS > Other Settings > Location Usage Description, digite o nome do app que está solicitando as permissões.

  2. Ativar os serviços de localização do Unity para acionar o ambiente de execução solicitação de permissão, da seguinte forma:

    public void OnEnable()
    {
        Input.location.Start();
    }
    
    public void OnDisable()
    {
        Input.location.Stop();
    }
    

    Consulte a LocationService documentação para mais informações.

Conferir a disponibilidade geoespacial no local atual do dispositivo

Como a API Geospatial usa uma combinação de VPS e GPS para determinar uma pose Geospatial, a API pode ser usada desde que o dispositivo possa determinar sua localização. Em áreas com baixa precisão do GPS, como espaços internos e ambientes urbanos densos, a API contará com a cobertura do VPS para gerar poses de alta precisão. Em condições típicas, o VPS pode fornecer precisão posicional de aproximadamente 5 metros e precisão rotacional 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 externos com pouca ou nenhuma obstrução suspensa, o GPS pode ser suficiente para gerar uma pose com alta precisão.

A seguir