Diagnóstico e relatório de problemas
Este capítulo descreve principalmente problemas que podem ser encontrados ao criar aplicações AR, os principais métodos de análise, e as informações e canais de contato que precisam ser coletados ao relatar problemas.
Desafios da análise de problemas em cenários AR
A análise de problemas em cenários AR tem alguns desafios únicos.
Incerteza de entrada
Em aplicações tradicionais, a entrada geralmente são cliques ou eventos de teclado determinísticos. Em AR, porém, a entrada vem de um ambiente físico em mudança, o que torna a análise muito mais difícil. Aplicações AR precisam ser usadas junto com o ambiente físico, mas durante desenvolvimento e teste é impossível obter sempre a mesma entrada no ambiente físico. Mesmo seguindo a mesma rota, imagens da câmera e dados de sensores como acelerômetro e giroscópio podem variar, e essas variações podem afetar muito os resultados de tracking.
EasyAR fornece recursos de gravação e playback de arquivos EIF, que podem aliviar a incerteza de entrada até certo ponto. No entanto, devido à incerteza dos algoritmos, o resultado final de tracking ainda é inerentemente incerto. Além disso, cobertura incompleta dos dados gravados em EIF, mudanças de iluminação e oclusões dinâmicas causadas por pedestres ou veículos também podem afetar a qualidade de tracking no uso real.
Incerteza do algoritmo
Os algoritmos centrais de AR são algoritmos visuais, como SLAM (simultaneous localization and mapping). Esses algoritmos são probabilísticos por natureza, não determinísticos.
Quando a imagem de câmera de entrada não tem recursos significativos, o algoritmo pode usar posição e pose históricas e dados de sensores como acelerômetro e giroscópio para previsão. Os resultados previstos de posição e pose se acumulam ao longo do tempo e geram drift. Cada resultado de previsão está relacionado a fatores externos como tempo de entrada dos dados, temperatura do dispositivo, frequência da CPU e velocidade de transmissão da rede. Esses fatores mudam dinamicamente, portanto, mesmo com a mesma entrada, os resultados de várias execuções podem diferir muito.
Métodos de análise para diferentes problemas
Problemas diferentes podem exigir métodos de análise diferentes.
Logs
Para situações em que o programa não funciona normalmente, como tela preta, falha de localization ou falha de tracking normal, o método mais básico é verificar os logs e observar se existem mensagens de erro. Os logs gerados pelo EasyAR usam tags específicas para facilitar a identificação.
Falhas
Às vezes o programa pode falhar. O local da falha pode estar no código da biblioteca ou no próprio código do programa. A causa pode ser um problema no próprio programa ou um problema na biblioteca.
Anomalias visuais como jitter e saltos
Devido à precisão dos dados dos sensores ou à adaptação do algoritmo, podem ocorrer jitter ou saltos de localization. Nesse caso, tente reproduzir o problema em diferentes dispositivos e capture screenshots, gravações de tela e arquivos EIF.
Guias específicos de plataforma
O diagnóstico e o relatório de problemas estão intimamente relacionados à plataforma. Consulte os guias a seguir para desenvolvimento conforme sua plataforma alvo:
- Análise de logs for Android
- Análise de logs for iOS/macOS/visionOS
- Análise de logs for Windows
- Análise de falhas for Android
- Análise de falhas for iOS/macOS/visionOS
- Análise de falhas for Windows
- Análise de anomalias visuais como jitter e saltos: screenshots e gravações de tela
- Análise de anomalias visuais como jitter e saltos: gravação de tela para headsets XR
- Análise de anomalias visuais como jitter e saltos: reproduzir anomalias com EIF
- Introdução ao Unity
- Mensagens UI do Unity
- Modo desenvolvedor do Unity
- Unity gravar arquivos EED dump
- Unity issue report
- Unity Diagnostics Controller referência de componente