Table of Contents

Configurazione scene e uso di AR Foundation nei progetti EasyAR

Usare AR Foundation in Unity spesso richiede EasyAR per risolvere le limitazioni di dispositivo di AR Foundation. Il contenuto seguente spiega come configurare e usare correttamente AR Foundation in una scene EasyAR e come abilitare dinamicamente AR Foundation in base al supporto del dispositivo.

Prima di iniziare

Aggiungere componenti AR Foundation

Aggiungere AR Session e XR Origin di AR Foundation alla scene EasyAR.

Aggiungere AR Session

Nella vista Hierarchy, fare clic destro su un punto vuoto e usare il menu XR > AR Session per aggiungere ARSession di Unity alla scene.

alt text

Nota

Questa AR Session è diversa dalla AR Session di EasyAR; entrambe devono esistere contemporaneamente nella scene.

Aggiungere XR Origin

Nella vista Hierarchy, fare clic destro su un punto vuoto e usare il menu XR > XR Origin (Mobile AR) per aggiungere XROrigin di Unity alla scene.

alt text

Nota

Questo XR Origin si sovrappone funzionalmente allo XR Origin di EasyAR, quindi è necessario usare Unity XR Origin invece dello XR Origin di EasyAR.

Se nella scene esisteva già lo XR Origin di EasyAR, di solito chiamato XR Origin (EasyAR), spostare gli oggetti figli sotto il nuovo XR Origin creato, quindi eliminare XR Origin (EasyAR).

alt text

A questo punto, se sotto il nuovo XR Origin non c'è XR Origin Child, aggiungerlo manualmente.

Nella vista Hierarchy, selezionare XR Origin e fare clic destro. Usare il menu EasyAR Sense > Origin > Origin : XR Origin Child per aggiungere XR Origin Child sotto XR Origin.

alt text

Configurare Camera

Se nella scene esisteva già una Camera per AR, comparirà una main camera in più; occorre eliminare la camera originale.

alt text

Poi selezionare Main Camera sotto XR Origin e configurare la camera secondo le istruzioni di configurazione Camera.

Infine, una struttura scene EasyAR completa con AR Foundation aggiunto dovrebbe essere simile alla seguente:

alt text

Attenzione

Se è necessario modificare la configurazione di AR Foundation tramite ARCameraManager.currentConfiguration, notare che alcuni telefoni (ad esempio Mi 10) hanno problemi propri: dopo la modifica della configurazione non è possibile ottenere immagini e EasyAR non potrà essere usato (l'app ha uno sfondo immagine ma le funzioni EasyAR non reagiscono). Perciò di solito non è consigliato modificarla; se è necessario farlo, preparare un fallback per quando EasyAR non può essere usato.

Compatibilità dei dispositivi e abilitazione dinamica di AR Foundation

EasyAR è compatibile con molti più dispositivi rispetto ad AR Foundation, quindi è necessario configurare l'app affinché abiliti AR Foundation solo quando serve e lo disabiliti completamente negli altri casi.

Controllare i componenti frame source

In generale, una session creata tramite il menu EasyAR di solito aggiunge automaticamente ARCoreARFoundationFrameSource e ARKitARFoundationFrameSource (escluse alcune funzioni come image tracking che non richiedono SLAM).

alt text

Importante

ARCoreARFoundationFrameSource e ARKitARFoundationFrameSource sono frame source forniti da EasyAR per abilitare le funzioni AR Foundation sui dispositivi che supportano AR Foundation. Se la session nella scene non contiene questi frame source, le funzioni AR Foundation non possono essere abilitate.

Se la session nella scene non contiene questi frame source, è possibile aggiungerli manualmente tramite menu.

alt text

Per funzionare su telefoni che non supportano AR Foundation, bisogna anche assicurarsi che la session contenga frame source diversi da AR Foundation. Un ARSession tipico dovrebbe essere simile a questo,

alt text

Consiglio

È possibile ordinare i frame source in base alle esigenze effettive. Durante runtime dell'app, la session seleziona il primo frame source disponibile secondo l'ordine transform in base al supporto del dispositivo.

Abilitare AR Foundation solo quando necessario

Poiché l'implementazione sottostante di AR Foundation sui telefoni è ARCore e ARKit, può essere usato solo su dispositivi limitati, specialmente non su molti telefoni Android cinesi domestici. Perciò di solito si consiglia di abilitare AR Foundation e gli script delle funzioni correlate solo sui dispositivi supportati.

EasyAR può completare automaticamente queste operazioni. Questa funzione può essere abilitata o disabilitata tramite l'opzione Unity XR > Unity XR Auto Switch in Project Settings > EasyAR > Sense. Per i dettagli, vedere commutazione automatica degli oggetti Unity XR.

Scene che mantengono la compatibilità AR Foundation

Una scene a cui sono stati aggiunti correttamente i componenti AR Foundation può funzionare normalmente sia con il package AR Foundation installato sia senza.

Quando AR Foundation non è installato, le funzioni AR Foundation e i frame source corrispondenti non sono disponibili, e alcuni script nella scene risulteranno mancanti; questa è una situazione normale.

alt text alt text

Consiglio

Molti sample possono funzionare normalmente sia con il package AR Foundation installato sia senza. Se è necessario abilitare il supporto AR Foundation in questi sample, basta abilitare AR Foundation nel progetto EasyAR.

Passaggi successivi

Argomenti correlati