Conceitos fundamentais

Antes de mergulhar no ARCore, é útil entender alguns conceitos fundamentais. Juntos, esses conceitos ilustram como o ARCore permite experiências que podem fazer com que o conteúdo virtual pareça descansar em superfícies reais ou ser anexado a locais do mundo real.

Registro de movimento

À medida que seu smartphone se move pelo mundo, o ARCore usa um processo chamado localização e mapeamento simultâneos (link em inglês) ou SLAM, para entender onde o smartphone está em relação ao mundo ao redor. O ARCore detecta recursos visualmente distintos na imagem da câmera capturada, chamados de pontos de recursos, e os usa para calcular a mudança no local. As informações visuais são combinadas com medidas de inércia da IMU do dispositivo para estimar a posição (posição e orientação) da câmera em relação ao mundo ao longo do tempo.

Ao alinhar a posição da câmera virtual que renderiza o conteúdo 3D com a posição da câmera do dispositivo fornecida pelo ARCore, os desenvolvedores podem renderizar o conteúdo virtual da perspectiva correta. A imagem virtual renderizada pode ser sobreposta à imagem recebida da câmera do dispositivo, fazendo com que pareça que o conteúdo virtual faz parte do mundo real.

Compreensão ambiental

Ela melhora constantemente a compreensão do ambiente do mundo real, detectando pontos de recursos e planos.

Ele procura clusters de pontos de recursos que parecem estar em superfícies horizontais ou verticais comuns, como mesas ou paredes, e disponibiliza essas superfícies para o app como planos geométricos. O ARCore também pode determinar o limite de cada plano geométrico e disponibilizar essas informações para seu app. É possível usar essas informações para colocar objetos virtuais em superfícies planas.

Como o ARCore usa pontos de recursos para detectar planos, superfícies planas sem textura, como uma parede branca, podem não ser detectadas corretamente.

Compreensão de profundidade

O ARCore pode criar mapas de profundidade, imagens que contêm dados sobre a distância entre as superfícies de um determinado ponto, usando a câmera RGB principal de um dispositivo compatível. Você pode usar as informações fornecidas por um mapa de profundidade para permitir experiências do usuário imersivas e realistas, por exemplo, fazer com que objetos virtuais colidam com precisão em superfícies observadas ou os apareçam na frente ou atrás de objetos do mundo real.

Estimativa de luz

Ele pode detectar informações sobre a iluminação do ambiente e fornecer a intensidade média e a correção de cor de uma determinada imagem da câmera. Essas informações permitem que você ilumine seus objetos virtuais nas mesmas condições do ambiente ao redor deles, aumentando a sensação de realismo.

Interação do usuário

O ARCore usa o teste de hit para usar uma coordenada (x,y) correspondente à tela do smartphone (fornecida por um toque ou qualquer outra interação que você queira oferecer suporte ao app) e projeta um raio na visão do mundo da câmera, retornando todos planos geométricos ou pontos de características que o raio cruza, além da posição dessa interseção no espaço mundial. Isso permite que os usuários selecionem ou interajam com os objetos no ambiente.

Pontos orientados

Os pontos orientados permitem colocar objetos virtuais em superfícies inclinadas. Quando você executa um teste de hit que retorna um ponto de recurso, o ARCore analisa os pontos de recursos próximos e os usa para tentar estimar o ângulo da superfície no ponto de recurso especificado. e o ARCore retorna uma pose que considera esse ângulo.

Como o ARCore usa clusters de pontos de recurso para detectar o ângulo da superfície, superfícies sem textura, como uma parede branca, podem não ser detectadas corretamente.

Âncoras e itens rastreáveis

As posições podem mudar à medida que o ARCore melhora a compreensão da própria posição e do ambiente. Quando quiser colocar um objeto virtual, você precisa definir uma âncora para garantir que o ARCore rastreie a posição do objeto ao longo do tempo. Muitas vezes, você cria uma âncora com base na pose retornada por um teste de hit, conforme descrito na interação do usuário.

O fato de que as poses podem mudar significa que o ARCore pode atualizar a posição de objetos ambientais, como planos geométricos e pontos de recursos ao longo do tempo. Os planos e pontos são um tipo especial de objeto chamado de rastreável. Como o nome sugere, esses são objetos que o ARCore rastreará ao longo do tempo. Você pode ancorar objetos virtuais em itens rastreáveis específicos para garantir que a relação entre o objeto virtual e o rastreável permaneça estável, mesmo quando o dispositivo se mover. Isso significa que, se você colocar uma boneca virtual do Android na sua mesa, se o ARCore ajustar posteriormente a posição do plano geométrico associado à mesa, a figura do Android ainda aparecerá sobre ela.

Para mais informações, consulte Como trabalhar com âncoras.

Imagens aumentadas

As imagens aumentadas são um recurso que permite criar apps de RA capazes de responder a imagens 2D específicas, como embalagens de produtos ou pôsteres de filmes. Os usuários podem acionar experiências de RA ao apontar a câmera do smartphone para imagens específicas. Por exemplo, eles podem apontar a câmera do smartphone para um pôster de um filme e fazer com que um personagem apareça para representar uma cena.

O ARCore também rastreia imagens em movimento, como um outdoor na lateral de um ônibus em movimento.

As imagens podem ser compiladas off-line para criar um banco de dados de imagens ou imagens individuais podem ser adicionadas em tempo real pelo dispositivo. Após o registro, o ARCore detecta essas imagens e os limites delas e retorna uma pose correspondente.

Compartilhamento

A API ARCore Cloud Anchor permite criar apps colaborativos ou multiplayer para dispositivos Android e iOS.

Com o Cloud Anchors, um dispositivo envia uma âncora e pontos de recursos próximos à nuvem para hospedagem. Essas âncoras podem ser compartilhadas com outros usuários em dispositivos Android ou iOS no mesmo ambiente. Isso permite que os apps renderizem os mesmos objetos 3D anexados a essas âncoras, possibilitando que os usuários tenham a mesma experiência de RA simultaneamente.

Saiba mais

Comece a colocar esses conceitos em prática criando experiências de RA na plataforma que você escolher.