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
- Leia suporte do EasyAR ao framework Unity XR para entender o suporte do EasyAR ao framework Unity XR e quando considerar o uso do AR Foundation.
- Leia habilitar AR Foundation em um projeto EasyAR para entender como instalar e configurar o AR Foundation em um projeto EasyAR.
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.

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.

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).

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.

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.

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:
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).

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.

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,

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.

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
- Saiba como alternar automaticamente o AR Foundation de acordo com o suporte do dispositivo
Tópicos relacionados
- Componentes AR relacionados mencionados no texto:
- AR Foundation fornece capacidade de motion tracking em alguns dispositivos. Sobre a relação entre motion tracking e as várias funções do EasyAR, consulte:
- Para mais informações sobre configuração de scene do AR Foundation, leia a documentação oficial do AR Foundation e escolha a versão correspondente antes de ler: