Guias específicos da plataforma
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine

A grande maioria das experiências de realidade aumentada é "em tempo real". Elas exigem que os usuários estejam em um determinado lugar e horário, com o smartphone definido em um modo especial de RA e aberto em um app de RA. Por exemplo, se um usuário quiser ver como um sofá de RA fica na sala de estar, ele terá que "colocar" o sofá no ambiente da tela enquanto estiver fisicamente na sala.
A API Recording and Playback elimina esse requisito de "tempo real", permitindo que você crie experiências de RA que podem ser visualizadas em qualquer lugar e a qualquer momento. A API Recording armazena o fluxo de vídeo de uma câmera, dados da IMU ou qualquer outro metadado personalizado que você escolher salvar em um arquivo MP4. Em seguida, você pode transmitir esses vídeos gravados para o ARCore usando a API Playback, que vai tratar o MP4 como um feed de sessão ao vivo. Você ainda pode usar uma sessão de câmera ao vivo, mas, com essa nova API, seus aplicativos de RA podem usar um MP4 pré-gravado em vez dessa sessão ao vivo.

Os usuários finais também podem aproveitar esse recurso. Não importa onde eles estejam na vida real, eles podem abrir qualquer vídeo gravado com a API Recording and Playback na galeria nativa e editar ou reproduzir objetos, efeitos e filtros de RA. Com esse recurso, os usuários podem fazer compras de RA enquanto estão em um trem a caminho do escritório ou deitados na cama.
Casos de uso para desenvolvimento com a API Recording and Playback
A API Recording and Playback remove as restrições de tempo e espaço da criação de apps de RA. Confira algumas maneiras de usá-la nos seus projetos.
Grave uma vez, teste em qualquer lugar
Em vez de ir fisicamente a um local sempre que precisar testar um recurso de RA, você pode gravar um vídeo usando a API Recording e reproduzi-lo em qualquer dispositivo compatível. Está criando uma experiência em um shopping center? Não é necessário ir até lá sempre que quiser testar uma mudança. Basta gravar sua visita uma vez e iterar e desenvolver no conforto da sua mesa.
Reduza o tempo de iteração
Em vez de gravar um vídeo para cada dispositivo Android que você quer oferecer suporte e para cada cenário que você quer testar, você pode gravar o vídeo uma vez e reproduzi-lo em vários dispositivos diferentes durante a fase de iteração.
Reduza o trabalho de teste manual em equipes de desenvolvimento
Em vez de criar conjuntos de dados personalizados para cada novo recurso, aproveite os conjuntos de dados pré-gravados ao lançar novos recursos que incorporam profundidade ou as melhorias de rastreamento mais recentes do ARCore.
Compatibilidade do dispositivo
Você vai precisar do ARCore para gravar dados com a API Recording and Playback, mas não para reproduzir. Os arquivos MP4 gravados usando esse recurso são essencialmente arquivos de vídeo com dados extras que podem ser visualizados usando qualquer player de vídeo. Você pode inspecioná-los com o ExoPlayer do Android ou qualquer player compatível que possa desmultiplexar arquivos MP4 e gerenciar os dados adicionais adicionados pelo ARCore.
Como os dados de vídeo e RA são gravados para reprodução
O ARCore salva as sessões gravadas em arquivos MP4 no dispositivo de destino. Esses arquivos contêm várias faixas de vídeo e outros dados diversos. Depois que essas sessões são salvas, você pode direcionar seu app para usar esses dados em vez de uma sessão de câmera ao vivo.
O que há em uma gravação?
O ARCore captura os seguintes dados em vídeo H.264. Você pode acessá-los em qualquer player de vídeo compatível com MP4 que possa alternar faixas. A faixa de maior resolução é a primeira na lista porque alguns players de vídeo compatíveis com MP4 reproduzem automaticamente a primeira faixa da lista sem permitir que você escolha qual faixa de vídeo reproduzir.
Faixa de vídeo principal (faixa de imagem da CPU)
O arquivo de vídeo principal grava o ambiente ou a cena para reprodução posterior. Por padrão, o ARCore grava a imagem da CPU de 640 x 480 (VGA) usada para rastreamento de movimento como o fluxo de vídeo principal.
O ARCore não captura a textura da GPU (alta resolução) renderizada na tela como a imagem da câmera de passagem.
Se você quiser que um fluxo de imagem de alta resolução esteja disponível durante a reprodução, você deve configurar uma câmera que forneça uma imagem de CPU com a resolução desejada. Neste caso:
- O ARCore vai solicitar a imagem da CPU de 640 x 480 (VGA) necessária para o rastreamento de movimento e a imagem da CPU de alta resolução especificada pela configuração da câmera configurada.
- A captura do segundo fluxo de imagem da CPU pode afetar o desempenho do app, e diferentes dispositivos podem ser afetados de maneiras diferentes.
- Durante a reprodução, o ARCore vai usar a imagem da CPU de alta resolução capturada durante a gravação como a textura da GPU.
- A imagem da CPU de alta resolução se tornará o fluxo de vídeo padrão na gravação MP4.
A configuração da câmera selecionada durante a gravação determina a imagem da CPU e o fluxo de vídeo principal na gravação. Se você não selecionar uma configuração de câmera com uma imagem de CPU de alta resolução, esse vídeo será a primeira faixa do arquivo e será reproduzido por padrão, independente do player de vídeo usado.
Visualização do mapa de profundidade da câmera
Esse é um arquivo de vídeo que representa o mapa de profundidade da câmera, gravado no sensor de profundidade de hardware do dispositivo, como um sensor de tempo de voo (ou sensor ToF), e convertido em valores de canal RGB. Esse vídeo só deve ser usado para fins de visualização.
Eventos de chamada de API
O ARCore grava medições dos sensores de giroscópio e acelerômetro do dispositivo. Ele também grava outros dados, alguns dos quais podem ser sensíveis:
- Versões do formato do conjunto de dados
- Versão do SDK do ARCore
- Versão do Google Play Services para RA
- Impressão digital do dispositivo (a saída de
adb shell getprop ro.build.fingerprint) - Informações adicionais sobre sensores usados para rastreamento de RA
- Ao usar a API ARCore Geospatial, a localização estimada do dispositivo, as leituras do magnetômetro e as leituras da bússola