Table of Contents

Configuração de scene e uso do AR Foundation em projetos EasyAR

Usar AR Foundation no Unity muitas vezes precisa do EasyAR para resolver as limitações de dispositivos do AR Foundation. O conteúdo a seguir explica como configurar e usar corretamente o AR Foundation em uma scene EasyAR e como habilitar dinamicamente o AR Foundation de acordo com o suporte do dispositivo.

Antes de começar

Adicionar componentes AR Foundation

Adicione AR Session e XR Origin do AR Foundation à scene EasyAR.

Adicionar AR Session

Na visualização Hierarchy, clique com o botão direito em uma área vazia e use o menu XR > AR Session para adicionar ARSession do Unity à scene.

alt text

Nota

Esta AR Session é diferente da AR Session do EasyAR; elas precisam existir ao mesmo tempo na scene.

Adicionar XR Origin

Na visualização Hierarchy, clique com o botão direito em uma área vazia e use o menu XR > XR Origin (Mobile AR) para adicionar XROrigin do Unity à scene.

alt text

Nota

Este XR Origin tem função sobreposta ao XR Origin do EasyAR, portanto é necessário usar Unity XR Origin em vez do XR Origin do EasyAR.

Se antes existia XR Origin do EasyAR na scene, geralmente chamado XR Origin (EasyAR), mova os child objects sob ele para o XR Origin recém-criado e depois exclua XR Origin (EasyAR).

alt text

Nesse momento, se não houver XR Origin Child sob o novo XR Origin, adicione-o manualmente.

Na visualização Hierarchy, selecione XR Origin e clique com o botão direito. Use o menu EasyAR Sense > Origin > Origin : XR Origin Child para adicionar XR Origin Child sob XR Origin.

alt text

Configurar Camera

Se antes existia uma Camera para AR na scene, aparecerá uma main camera extra na scene, e a camera original precisa ser excluída.

alt text

Em seguida, selecione Main Camera sob XR Origin e configure a camera seguindo as instruções de configuração de Camera.

Por fim, uma estrutura completa de scene EasyAR com AR Foundation adicionado deve ser semelhante à seguinte:

alt text

Cuidado

Se for necessário modificar a configuração do AR Foundation por meio de ARCameraManager.currentConfiguration, observe que alguns telefones em si (por exemplo, Mi 10) têm problemas: após modificar a configuração, não é possível obter imagens e o EasyAR não poderá ser usado (o app tem background de imagem, mas as funções EasyAR não respondem). Portanto, normalmente não é recomendado modificar; se for necessário, prepare uma solução de fallback quando o EasyAR não puder ser usado.

Compatibilidade de dispositivos e habilitação dinâmica do AR Foundation

O EasyAR é compatível com muito mais dispositivos que o AR Foundation; portanto, é necessário configurar para garantir que o app habilite AR Foundation apenas quando necessário e desligue completamente o AR Foundation nas demais situações.

Verificar componentes frame source

Em geral, uma session criada pelo menu EasyAR normalmente adiciona automaticamente ARCoreARFoundationFrameSource e ARKitARFoundationFrameSource (exceto algumas funções, como image tracking, que não precisam de SLAM).

alt text

Importante

ARCoreARFoundationFrameSource e ARKitARFoundationFrameSource são frame sources fornecidos pelo EasyAR para habilitar funções AR Foundation em dispositivos que suportam AR Foundation. Se a session na scene não contiver esses frame sources, as funções AR Foundation não poderão ser habilitadas.

Se a session na scene não contiver esses frame sources, é possível adicioná-los manualmente pelo menu.

alt text

Para executar em telefones que não suportam AR Foundation, também é necessário garantir que a session contenha frame sources além do AR Foundation. Um ARSession típico deve ser semelhante ao seguinte,

alt text

Dica

É possível ordenar frame sources conforme a necessidade real. Durante runtime do app, a session seleciona o primeiro frame source disponível na ordem de transform de acordo com o suporte do dispositivo.

Habilitar AR Foundation apenas quando necessário

Como a implementação subjacente do AR Foundation em telefones é ARCore e ARKit, ele só pode ser usado em dispositivos limitados, especialmente não em muitos telefones Android domésticos chineses. Portanto, normalmente é recomendado habilitar AR Foundation e scripts de funções relacionadas apenas em dispositivos suportados.

O EasyAR pode concluir essas operações automaticamente. Esse recurso pode ser habilitado ou desabilitado pela opção Unity XR > Unity XR Auto Switch em Project Settings > EasyAR > Sense. Para detalhes, consulte alternar automaticamente objetos Unity XR.

Scenes que preservam compatibilidade com AR Foundation

Uma scene com componentes AR Foundation adicionados corretamente pode funcionar normalmente tanto com o package AR Foundation instalado quanto sem ele.

Quando AR Foundation não está instalado, as funções AR Foundation e os frame sources correspondentes ficam indisponíveis, e alguns scripts na scene ficam ausentes; isso é normal.

alt text alt text

Dica

Muitos sample podem funcionar normalmente tanto com o package AR Foundation instalado quanto sem ele. Se for necessário habilitar suporte AR Foundation nesses sample, basta habilitar AR Foundation no projeto EasyAR.

Próximas etapas

Tópicos relacionados