Prima di approfondire ARCore, è utile comprendere alcuni concetti fondamentali. Insieme, questi concetti illustrano in che modo ARCore consente esperienze in grado di far sembrare che i contenuti virtuali restino su piattaforme reali o che siano associati a luoghi del mondo reale.
Rilevamento del movimento
Mentre il tuo telefono attraversa il mondo, ARCore utilizza una procedura chiamata localizzazione e mappatura simultanea, o SLAM, per comprendere la posizione del telefono rispetto al mondo che lo circonda. ARCore rileva caratteristiche visivamente distinte nell'immagine acquisita della fotocamera chiamate punti funzionalità e utilizza questi punti per calcolare la modifica della posizione. Le informazioni visive vengono combinate con le misurazioni inerziali dell'IMU del dispositivo per stimare la posizione (posizione e orientamento) della fotocamera rispetto al mondo nel tempo.
Allineando la posa della videocamera virtuale che esegue il rendering dei contenuti 3D con quella della fotocamera del dispositivo fornita da ARCore, gli sviluppatori sono in grado di visualizzare i contenuti virtuali dalla prospettiva corretta. L'immagine virtuale visualizzata può essere sovrapposta all'immagine ottenuta dalla fotocamera del dispositivo, in modo da farla apparire come se i contenuti virtuali facessero parte del mondo reale.
Comprensione dell'ambiente
ARCore migliora costantemente la sua comprensione dell'ambiente reale rilevando i punti caratteristica e i piani.
ARCore cerca cluster di punti caratteristica che sembrano trovarsi su superfici orizzontali o verticali comuni, come tavoli o pareti, e le rende disponibili per la tua app come piani geometrici. ARCore è inoltre in grado di determinare i confini di ogni piano geometrico e di rendere disponibili queste informazioni alla tua app. Puoi utilizzare queste informazioni per posizionare oggetti virtuali appoggiati su superfici piane.
ARCore utilizza i feature point per rilevare i piani, pertanto le superfici piane senza texture, come un muro bianco, potrebbero non essere rilevate correttamente.
Comprensione approfondita
ARCore può creare mappe di profondità, ovvero immagini contenenti dati sulla distanza tra le superfici da un determinato punto, utilizzando la fotocamera RGB principale di un dispositivo supportato. Puoi utilizzare le informazioni fornite da una mappa di profondità per offrire esperienze utente coinvolgenti e realistiche, ad esempio far collimare accuratamente gli oggetti virtuali con le superfici osservate o farli apparire davanti o dietro oggetti del mondo reale.
Stima della luce
ARCore può rilevare informazioni sull'illuminazione dell'ambiente circostante e fornirti l'intensità media e la correzione del colore di una determinata immagine della fotocamera. Queste informazioni ti permettono di illuminare gli oggetti virtuali nelle stesse condizioni dell'ambiente circostante, aumentando così il senso di realismo.
Interazione utente
ARCore utilizza gli hit test per acquisire una coordinata (x,y) corrispondente allo schermo del telefono (fornita con un tocco o tramite qualsiasi altra interazione che desideri venga supportata dalla tua app) e proietta un raggio nella visuale della fotocamera del mondo, restituendo eventuali piani geometrici o punti di caratteristica che il raggio interseca, insieme alla posizione di quell'intersezione nello spazio del mondo. Ciò consente agli utenti di selezionare o interagire in altro modo con gli oggetti nell'ambiente.
Punti orientati
I punti orientati consentono di posizionare oggetti virtuali su superfici inclinate. Quando esegui un hit test che restituisce un feature point, ARCore esamina i punti caratteristica vicini e li utilizza per tentare di stimare l'angolo della superficie in quel punto specifico. ARCore restituisce quindi una posa che tiene conto di quell'angolo.
ARCore utilizza cluster di punti caratteristica per rilevare l'angolo della superficie, pertanto le superfici senza texture, come un muro bianco, potrebbero non essere rilevate correttamente.
Ancoraggi e tracciabili
Le pose possono cambiare man mano che ARCore migliora la comprensione della propria posizione e dell'ambiente. Se vuoi posizionare un oggetto virtuale, devi definire un ancoraggio per garantire che ARCore tenga traccia della posizione dell'oggetto nel tempo. Spesso crei un ancoraggio sulla base della posa restituita da un hit test, come descritto nell'interazione dell'utente.
Il fatto che le pose possano cambiare significa che ARCore può aggiornare nel tempo la posizione degli oggetti ambientali come piani geometrici e punti di caratteristiche. I piani e i punti sono un tipo speciale di oggetto chiamato tracciabile. Come suggerisce il nome, si tratta di oggetti che ARCore traccerà nel tempo. Puoi ancorare gli oggetti virtuali a elementi tracciabili specifici per garantire che la relazione tra l'oggetto virtuale e l'oggetto tracciabile rimanga stabile anche mentre il dispositivo si sposta. Ciò significa che se posizioni una statuetta Android virtuale sulla scrivania, se in seguito ARCore regolasse la posa del piano geometrico associato alla scrivania, la statuina Android continuerà a essere visualizzata in cima al tavolo.
Per ulteriori informazioni, consulta Utilizzo degli ancoraggi
Immagini aumentate
Immagini aumentate è una funzionalità che consente di creare app AR in grado di rispondere a immagini 2D specifiche, come la confezione di un prodotto o i poster di film. Gli utenti possono attivare esperienze AR quando puntano la fotocamera del telefono verso immagini specifiche. Ad esempio, possono puntare la fotocamera del telefono verso il poster di un film e far emergere un personaggio e mettere in scena una scena.
ARCore tiene anche traccia di immagini in movimento come, ad esempio, un cartellone pubblicitario sulla fiancata di un autobus in movimento.
Le immagini possono essere compilate offline per creare un database di immagini oppure è possibile aggiungere singole immagini in tempo reale dal dispositivo. Una volta registrato, ARCore rileverà queste immagini e i confini delle immagini e restituirà la posa corrispondente.
Condivisione
L'API ARCore Cloud Anchor consente di creare app collaborative o multiplayer per dispositivi Android e iOS.
Con gli ancoraggi Cloud, un dispositivo invia un anchor e punti funzionalità vicini al cloud per l'hosting. Questi ancoraggi possono essere condivisi con altri utenti su dispositivi Android o iOS nello stesso ambiente. In questo modo le app possono visualizzare gli stessi oggetti 3D attaccati a questi ancoraggi, offrendo agli utenti la stessa esperienza AR contemporaneamente.
Scopri di più
Inizia a mettere in pratica questi concetti creando esperienze AR sulla piattaforma che preferisci.