Table of Contents

Usar a ferramenta de validação de sessão

Este artigo descreve como usar a ferramenta de validação de sessão para validar rapidamente o fluxo de trabalho da sessão no editor e executar simulações usando arquivos EIF.

Antes de começar

A execução de simulação usa arquivos EIF como entrada, portanto, antes de começar, é necessário gravar um arquivo EIF:

Também é necessário entender:

Ferramenta de validação de sessão

A ferramenta de validação de sessão ajuda os desenvolvedores a validar rapidamente o fluxo de trabalho da sessão no editor do Unity e a executar simulações usando arquivos EIF.

Por padrão, a ferramenta de validação de sessão pode ser vista na janela Inspector do objeto AR Session (EasyAR), fazendo parte do editor DiagnosticsController:

alt text

Clique no botão no canto superior direito da ferramenta para abri-la em uma janela independente, facilitando a visualização e operação. Quando a janela for fechada ou o botão for pressionado, a ferramenta será exibida novamente na janela Inspector.

alt text

O efeito da ferramenta em execução é mostrado no vídeo abaixo:

Este vídeo demonstra o efeito de uso da ferramenta de validação de sessão, gravado no modo play do Unity. A parte superior esquerda do vídeo mostra a visualização Hierarchy, o meio mostra a visualização Scene e a direita mostra a visualização Game. A parte inferior do vídeo mostra a ferramenta de validação de sessão. O conteúdo da visualização Game é o mesmo que o usuário veria no mundo real com um celular.

A parte superior esquerda da ferramenta mostra a barra de progresso da reprodução do EIF, que muda conforme o progresso. A parte inferior esquerda da ferramenta mostra o estado atual da sessão. A parte direita da ferramenta mostra os componentes da sessão e os modos de centro disponíveis.

Na cena, é possível ver três funcionalidades AR funcionando simultaneamente:

  • Rastreamento de movimento: fornecido pelo frame player; a esfera azul é a XR Origin e o cone azul representa a posição do usuário.
  • Mapeamento denso do espaço: é possível ver a geração contínua de malhas de modelo translúcidas à medida que a perspectiva se move.
  • Rastreamento esparso do espaço: no vídeo, uma árvore de Natal está sendo rastreada e os objetos virtuais sobrepostos são nuvens de pontos azul-claro.

Iniciar a ferramenta

Clique no botão na parte superior da ferramenta para iniciá-la. O efeito de pressionar este botão é o mesmo que pressionar diretamente o botão na Barra de ferramentas do Unity.

alt text

Se a ferramenta já estiver iniciada, o botão mudará para ; clique para parar a ferramenta.

Quando a ferramenta é exibida em uma janela independente, a caixa de seleção à direita do botão permite escolher o objeto de sessão usado pela ferramenta. Se a janela for redefinida e a sessão for perdida, é possível selecioná-la novamente aqui.

Controlar a reprodução do EIF

Para usar a funcionalidade de reprodução de EIF da ferramenta, é necessário marcar a opção Frame Player da ferramenta antes da execução. Nesse caso, a ferramenta assumirá a seleção da fonte de quadros durante a montagem da sessão. Independentemente do valor definido em AssembleOptions.FrameSource, o componente frame player será ativado.

alt text

Portanto, durante a execução, um pop-up será exibido informando que a fonte de quadros usada pela sessão atual foi assumida pela ferramenta:

alt text

Nota

A ferramenta só assume a seleção da fonte de quadros durante a montagem no editor do Unity; essa opção não tem efeito quando o aplicativo é executado após a compilação.

Durante a execução normal, a funcionalidade de controle de reprodução do EIF será exibida na parte superior da ferramenta, conforme destacado na imagem:

alt text

É possível controlar a reprodução do arquivo EIF usando estes botões:

  • : Reproduzir, retomar a reprodução do estado pausado ou parado
  • ▮▮: Pausar
  • : Parar
  • ▮◀: Avançar 5 segundos para trás (quando suportado pelo arquivo)
  • ◀◀: Reduzir a velocidade de reprodução (quando suportado pelo arquivo)
  • ▶▶: Aumentar a velocidade de reprodução (quando suportado pelo arquivo)
  • ▶▮: Avançar 5 segundos para frente (quando suportado pelo arquivo)
  • : Abrir arquivo
  • Barra de progresso: Clique para pular para uma posição de reprodução (quando suportado pelo arquivo)

É possível ajustar o conteúdo e a lógica de interação na cena enquanto reproduz, permitindo realizar a maior parte do trabalho de desenvolvimento no computador e ver os resultados de forma intuitiva.

Nota

Ao reproduzir novos dados ou pular para uma posição, os dados originais na cena não são limpos. O estado dos componentes AR também não é redefinido; eles se comportarão como se os dados da câmera tivessem saltado abruptamente do quadro anterior para os novos dados.

Embora isso não afete significativamente algumas funcionalidades, para funcionalidades que dependem do rastreamento de movimento (como mapeamento denso do espaço, Mega, etc.), pode causar estados anormais, afetando o efeito da execução.

Controlar o fluxo de trabalho da sessão

Para usar a funcionalidade de controle do fluxo de trabalho da sessão da ferramenta, é necessário marcar a opção Session Workflow da ferramenta antes da execução. Essa opção está marcada por padrão.

alt text

Durante a execução normal, a funcionalidade de controle do fluxo de trabalho da sessão será exibida abaixo do controle de reprodução, conforme destacado na imagem:

alt text

Na parte superior da área, são exibidas duas informações de estado: EasyARController.IsReady e ARSession.State.

Na parte inferior da área, são fornecidos estes botões para controlar o fluxo de trabalho da sessão:

  • Initialize: Inicializar a sessão, podendo escolher usar a chave de licença configurada em Project Settings ou inserir manualmente uma chave de licença
  • Assemble: Montar, mas não iniciar a sessão
  • StartSession (Assembled): Iniciar a sessão montada
  • StartSession: Montar e iniciar a sessão
  • StopSession: Parar a sessão
  • StopSession (keep image): Parar a sessão, mas manter o plano de fundo da imagem
  • Deinitialize: Desinicializar a sessão
Nota

Como essas funcionalidades de controle chamam diretamente os métodos relevantes de ARSession e EasyARController, é possível usar esses botões para verificar o impacto das mudanças de estado da sessão no conteúdo. No entanto, é importante observar que, se métodos semelhantes forem chamados nos scripts do aplicativo, o fluxo de execução do aplicativo pode ultrapassar as expectativas do próprio aplicativo.

Controlar os componentes da sessão

Para usar a funcionalidade de controle dos