EasyAR Surface Tracking
EasyAR Surface Tracking implementa uma capacidade leve de tracking contínuo da posição e orientação do dispositivo em relação a um ponto de superfície selecionado no espaço. Pode ser usado em cenários como pequenos jogos AR interativos, gravação de vídeos curtos AR e exibição de posicionamento de produtos.
Princípio do EasyAR Surface Tracking
Para estabelecer a correspondência entre espaço real e espaço virtual, Surface Tracking usa dados da câmera do dispositivo e da inertial measurement unit.
Surface Tracking primeiro reconhece features significativas nas superfícies do ambiente, não necessariamente em planos, por meio das imagens da câmera, e usa frames de imagem consecutivos e dados de sensores para rastrear a posição dessas features. Na inicialização, o objeto virtual é colocado por padrão na superfície de um feature point perto do centro da tela, e a posição do objeto virtual é tratada como a origem do sistema de coordenadas do mundo.
O objeto virtual também é colocado na posição do feature point correspondente e rastreado continuamente. Durante o movimento do dispositivo, a profundidade da feature na imagem da câmera é atualizada continuamente, e o objeto virtual continua ajustado à superfície do feature point correspondente. Se o feature point correspondente ao objeto virtual for perdido, o sistema seleciona automaticamente um novo feature point e gera a posição e orientação do dispositivo em relação a esse feature point.
Nota
A perda de features do Surface Tracking pode causar drift na posição do objeto virtual. Se precisar de tracking contínuo de uma posição fixa, recomenda-se usar Motion Tracking.
Comparação entre surface tracking e motion tracking
Comparado com Motion Tracking, Surface Tracking não exige calibração do dispositivo, suporta mais modelos e pode executar sem initialization. No entanto, Surface Tracking não fornece escala real, só pode posicionar um objeto virtual, e a base do objeto virtual deve ser colocada na origem do sistema de coordenadas.
| Dimensão de comparação | Surface Tracking | Motion Tracking |
|---|---|---|
| Requisito de calibração do dispositivo | Não requer calibração do dispositivo | Requer calibração do dispositivo |
| Faixa de modelos suportados | Suporta mais modelos de dispositivos | Exige maior capacidade de hardware, modelos suportados relativamente limitados |
| Escala espacial | Não fornece escala do mundo real | Fornece pose em escala real |
| Fluxo de initialization | Executa sem initialization | Geralmente requer processo de initialization |
| Número de objetos virtuais | Suporta apenas um objeto virtual | Pode suportar vários objetos virtuais |
| Restrição de posicionamento de objeto virtual | A base do objeto virtual deve ser colocada na origem do sistema de coordenadas | Objetos virtuais podem ser colocados em qualquer posição espacial |
| Cenários aplicáveis | Exibição AR leve, experiência rápida | AR de alta precisão, interação espacial, navegação e medição |
Nota
Surface Tracking tenta manter o objeto virtual aderido à superfície do ambiente, que pode ser uma superfície irregular de objeto ou um piso/parede plano, mas não detecta se existem planos no ambiente. Se precisar detectar planos horizontais ou verticais, consulte Plane Detection.