Muitos de vocês devem ter jogado Pokémon Go, um jogo baseado em Realidade Aumentada que se tornou viral há alguns anos. Se você fez ou já usou qualquer um dos outros aplicativos que envolvem o conceito de Realidade Aumentada (por exemplo: o Snapchat usa AR para aplicar filtros e diferentes objetos em seu rosto virtualmente), você certamente sabe como é maravilhoso usar e interagir com esse aplicativo. 

História

As pessoas acham difícil de acreditar, mas o fato é que a Realidade Aumentada é uma tecnologia muito antiga. Foi inventado em 1968 com o desenvolvimento de Ivan Sutherland do primeiro sistema de display tipo head-mounted chamado “The Sword of Damocles”. No entanto, o termo 'realidade aumentada' não foi cunhado até 1990 pelo pesquisador da Boeing Tim Caudell.

Desde então, os casos de uso de realidade aumentada começaram a crescer em número e várias tecnologias começaram a adaptá-la, incluindo o sistema de visão sintética híbrida da NASA de sua espaçonave X-38, onde a tecnologia AR foi usada para ajudar a fornecer melhor navegação durante seus voos de teste para dispositivos Glass do Google, par de óculos de realidade aumentada que os usuários podem usar para experiências envolventes.

O que é Google ARCore?

A simulação de Realidade Aumentada não é uma tarefa simples se realizada do zero. É por isso que existem ferramentas adequadas no mercado que ajudam o desenvolvedor a construir aplicativos conforme desejado com facilidade e eficiência. Há muitos kits de desenvolvimento de software disponíveis para criar aplicativos baseados em realidade aumentada e um dos SDKs populares que é muito valorizado na comunidade de desenvolvimento de AR é o ARCore do Google.

ARCore é uma plataforma desenvolvida pelo Google que foi lançada em 1º de março de 2018 para a construção de experiências de realidade aumentada. O ARCore permite que o telefone de um indivíduo sinta seu ambiente e entenda os arredores para interagir com as informações. Basicamente, ele usa três recursos principais, ou seja , rastreamento de movimento , compreensão ambiental e estimativa de luz (todos descritos abaixo), que ajudam a colocar objetos virtuais no ambiente real do mundo, visto pela câmera do seu telefone.

Como sabemos, os conhecimentos fundamentais são os blocos de construção para aprender e aplicar qualquer conceito, vamos dar uma olhada no funcionamento interno do ARCore antes de mergulhar em sua implementação.

Conceitos básicos de ARCore

Aqui estão alguns termos e conceitos associados ao ARCore.

  1. Rastreamento de movimento: quando você usa um aplicativo baseado em AR, primeiro é solicitado que você abra a câmera e, às vezes, também mova o telefone. Isso é feito para capturar seu entorno e detectar características distintas também chamadas de pontos de característica.ARCore usa SLAM (Simultaneous Localization And Mapping) para entender a posição do seu telefone em relação ao seu entorno. Uma vez que os pontos característicos são detectados, o SLAM os usa para calcular a mudança de localização. Para calcular a posição e orientação do telefone em relação ao seu entorno, ao longo do tempo, a informação visual detectada pela câmera é combinada com as medições da IMU (Unidade de Medição Inercial: um dispositivo eletrônico que mede e relata a força específica de um corpo, angular e, às vezes, a orientação do corpo, usando uma combinação de acelerômetros, giroscópios e, às vezes, magnetômetros). Agora, a câmera virtual onde a renderização de objetos 3D é feita está alinhada com a câmera do dispositivo fornecida pela ARCore para permitir que os desenvolvedores renderizem objetos virtuais da perspectiva correta.
  2. Compreensão ambiental: você deve ter visto aplicativos que colocam objetos 3D em objetos específicos do mundo real, como um gato dançando em uma mesa ou um sofá no chão (por exemplo: o aplicativo Houzz é um dos famosos aplicativos que ajudam a projetar o interior do seu quarto ou casa, colocando móveis 3D no chão). Aqui vamos discutir como o aplicativo conhece as superfícies planas ou as superfícies horizontais com tantos detalhes. Como já discutimos os pontos de recursos, o ARCore procura por clusters desses pontos de recursos que estão nas mesmas superfícies horizontais ou verticais, como uma mesa ou porta, e disponibiliza essas informações para seu aplicativo. Posteriormente, essas informações são usadas para colocar objetos 3D em superfícies planas.
  3. Estimativa de luz: para tornar o conteúdo virtual mais realista, é sempre uma boa escolha considerar a luz como uma das áreas significativas para trabalhar. Como a luz é refletida em diferentes direções após cair sobre um objeto, tornando o ambiente agradável aos olhos do observador, o conceito de estimativa de luz tenta fazer o mesmo com os objetos 3D. Depois de capturar imagens do ambiente, o ARCore fornece informações sobre a intensidade média e correção de cor das imagens, o que permite que um desenvolvedor ilumine um objeto virtual nas mesmas condições do ambiente circundante.

O seu telefone é compatível com ARCore?

Por enquanto, todos os dispositivos não são compatíveis com ARCore devido à qualidade da câmera e às especificações dos sensores internos de cada dispositivo, obviamente, não atendem aos requisitos para a certificação ARCore. A certificação ARCore é um processo em que um dispositivo é considerado compatível com a ARCore se passar em todos os testes de especificação. Essa certificação é necessária porque o Google deseja que os usuários tenham a melhor experiência com aplicativos de RA. Os três recursos do ARCore requerem uma boa câmera e vários sensores. Por exemplo, o rastreamento de movimento é feito combinando a imagem da câmera e a entrada do sensor de movimento para determinar como o dispositivo do usuário se move no mundo real. Portanto, a qualidade da câmera e do hardware, incluindo a CPU, é cuidadosamente verificada para garantir um desempenho eficaz. Você pode ver alguns modelos de dispositivos suportados paraeste link.

Primeiros passos com ARCore para Android

Pré-requisito: Noções básicas de desenvolvimento Android

  1. Instale o Android Studio versão 3.1 ou superior com Android SDK Platform versão 7.0 (API de nível 24) ou superior. (Link para o tutorial de instalação: https://developer.android.com/studio/install)
  2. Obtenha um projeto de amostra clonando o repositório com o seguinte comando “git clone https://github.com/google-ar/arcore-android-sdk.git” (sem as aspas).
  3. No Android Studio, vá para arquivo-> Abrir e selecione o projeto de amostra HelloAR localizado no subdiretório samples dentro do diretório arcore-android-sdk.
  4. Agora, você pode executar o aplicativo em um dispositivo compatível ou no Android Emulator. (No emulador, você deve entrar na Google Play Store ou atualizar o Google Play Services para AR manualmente).
  5. HelloAR app é um aplicativo AR muito simples que permite aos usuários colocar e manipular figuras do Android em superfícies de planos AR detectadas.

Vantagens do ARCore

  1. ARCore funciona com Unity3D e Unreal Engine, bem como nativo para dispositivos Android usando a linguagem de programação Java.
  2. O ARCore do Google é uma parte estável do sistema operacional Android correspondente e deve ser usado em aprox. 100 milhões de dispositivos inteligentes até o final de 2017.
  3. O Google completa o esforço da Apple para disponibilizar as funções de RA em todos os dispositivos inteligentes. Os aplicativos nativos, mas também os aplicativos de terceiros, não têm acesso às funções nativas de AR do sistema operacional. Como um fornecedor confiável e de longo prazo de tecnologias de RA, o Google e seus desenvolvedores ARCore oferecem uma base estável para o desenvolvimento de aplicativos de RA.

Desvantagens do ARCore

  1. ARCore só pode ser usado em dispositivos com sistema operacional Android.
  2. Se um aplicativo ARCore for usado em um dispositivo com IOS tornando-o multiplataforma, a nova solução AR da Apple, ARKit, pode ser usada como contrapartida do ARCore. Embora o ARKit e o ARCore busquem os mesmos objetivos, ele deve ser testado em cada caso, se todas as funções de um novo aplicativo de AR puderem ser realizadas em ambas as plataformas.

Referências

  1. https://developers.google.com/ar/discover/concepts
  2. https://developers.google.com/ar/develop/java/quickstart

Go Premium (uma experiência sem anúncios com muitos mais recursos)