Configura le impostazioni dell'app in modo che possa utilizzare l'API Geospatial.
Prerequisiti
Prima di procedere, assicurati di conoscere i concetti fondamentali dell'AR e come configurare una sessione ARCore.
Per ulteriori informazioni sull'API Geospatial, consulta la Introduzione all'API Geospatial.
Se non hai mai sviluppato con ARCore, consulta la sezione Introduzione per informazioni sui requisiti hardware e software, sui prerequisiti e su altre informazioni specifiche per le piattaforme in uso.
Per utilizzare l'API ARCore Geospatial, il progetto deve supportare AR Foundation e le Estensioni ARCore per AR Foundation.
Attiva l'API ARCore
Prima di utilizzare il sistema di posizionamento visivo (VPS) nella tua app, devi prima attivare l'API ARCore in un progetto Google Cloud nuovo o esistente. Questo servizio è responsabile dell'hosting, dello stoccaggio e della risoluzione degli ancoraggi geospaziali.
L'autorizzazione senza chiave è preferita, ma è supportata anche l'autorizzazione con chiave API.
Aggiungi le librerie richieste alla tua app
Dopo aver autorizzato la tua app a chiamare l'API ARCore, devi aggiungere librerie per attivare le funzionalità geospaziali nella tua app.
- Vai a Modifica > Impostazioni progetto > Gestione plug-in XR > Estensioni ARCore. Assicurati che l'opzione Supporto iOS abilitato sia selezionata.
- In Funzionalità facoltative, seleziona Geospaziale.
Attivare le funzionalità geospaziali nella configurazione della sessione
Dopo aver attivato la funzionalità Geospatial nella tua app, attiva le funzionalità Geospatial nella configurazione della sessione AR dell'app in modo che possa comunicare con l'API ARCore:
- Assicurati che la cartella Asset del progetto contenga un oggetto ARCoreExtensionsConfig scrivibile in script. Per crearne uno, fai clic con il tasto destro del mouse nel riquadro Asset e seleziona Crea > XR > Configurazione estensioni ARCore.
Seleziona l'oggetto scriptabile ARCoreExtensionsConfig nella cartella Asset e imposta Modalità geospaziale su Attivata.
Configura l'oggetto di gioco ARCore Extensions per utilizzare la configurazione ARCoreExtensionsConfig. Nel riquadro Gerarchia, individua l'oggetto di gioco ARCore Extensions che hai creato durante la configurazione iniziale di ARCore Extensions e collega il campo ARCore Extensions Config all'oggetto scriptabile ARCoreExtensionsConfig nella cartella Asset.
Chiedere all'utente di consentire l'utilizzo dei dati del dispositivo
Le app che utilizzano l'API ARCore Geospatial devono presentare all'utente una richiesta di conferma e di autorizzazione all'utilizzo dei dati del suo dispositivo. Per ulteriori informazioni, consulta i requisiti relativi alla privacy dell'utente.
Verificare la compatibilità del dispositivo
Non tutti i dispositivi che supportano ARCore supportano anche l'API Geospatial. Per verificare la compatibilità del dispositivo dell'utente, chiama AREarthManager.IsGeospatialModeSupported()
.
Se viene restituito FeatureSupported.Unsupported
, non tentare di configurare la sessione.
Chiedere all'utente le autorizzazioni di accesso alla posizione in fase di esecuzione
Per attivare i servizi di geolocalizzazione di Unity in uno script che attiva le richieste di autorizzazione di runtime, procedi nel seguente modo:
In Project Settings > iOS > Other Settings > Location Usage Description, inserisci il nome dell'app che richiede le autorizzazioni.
Attiva i servizi di geolocalizzazione di Unity per attivare la richiesta di autorizzazione di runtime, come segue:
public void OnEnable() { Input.location.Start(); } public void OnDisable() { Input.location.Stop(); }
Per ulteriori informazioni, consulta la documentazione di
LocationService
di Unity.
Controllare la disponibilità geospaziale nella posizione attuale del dispositivo
Poiché l'API Geospatial utilizza una combinazione di VPS e GPS per determinare una posa geospaziale, l'API può essere utilizzata a condizione che il dispositivo sia in grado di determinare la propria posizione. Nelle aree con scarsa precisione del GPS, come spazi interni e ambienti urbani densi, l'API si baserà sulla copertura VPS per generare pose ad alta precisione. In condizioni normali, ci si aspetta che il servizio VPS fornisca un'accuratezza di posizionamento di circa 5 metri e un'accuratezza di rotazione di 5 gradi. Utilizza AREarthManager.CheckVpsAvailability()
per determinare se una determinata località ha copertura VPS.
L'API Geospatial può essere utilizzata anche nelle aree che non hanno copertura VPS. In ambienti esterni con poche o nessuna ostruzione sopraelevata, il GPS potrebbe essere sufficiente per generare una posa con elevata precisione.
Passaggi successivi
- Ottenere la posizione geografica della fotocamera del dispositivo per determinare la posizione esatta del dispositivo dell'utente nel mondo reale.
- Verifica la disponibilità del VPS nella località in cui si trova un dispositivo.