La realtà aumentata, o augmented reality (AR) realizza esperienze interattiva sovrapponendo oggetti del mondo reale con costrutti visivi, uditivi o tattili generati da un computer. Le informazioni sensoriali sovrapposte possono combinarsi alle informazioni reali (un paesaggio, un volto) o sovrapporsi in modo da renderle invisibili.
In ogni caso la realtà aumentata altera la percezione del mondo reale, in maniera ben diversa dalla realtà virtuale, che si occupa di creare un ambiente da zero, senza nessuna interazione con la realtà ordinaria.
I vantaggi della realtà aumentata
Il valore primario della realtà aumentata è di supportare gli elementi reali con informazioni di vario tipo, con lo scopo di intrattenere, informare, supportare gli utenti. I primi sistemi AR offrivano esperienze immersive di realtà mista per gli utenti già nei primi anni ’90, a partire dai dispositivi sviluppati presso da l’Armstrong Laboratory a scopi militari.
L’idea di commercializzare l’AR sono state introdotte diversi anni fa, con lo scopo di sostenere noti brand a dell’intrattenimento, come è accaduto nel caso di Pokemon Go. Solo in un secondo momento lo sviluppo di applicazioni per Android (che possiede una fetta di mercato nel mondo mobile di rilievo) e altri sistemi ha permesso alla realtà aumentata di colonizzare i settori commerciali, l’istruzione, le comunicazioni, e la medicina.
Nell’istruzione, è possibile accedere ai contenuti mediante la scansione o la visualizzazione di un’immagine con un dispositivo mobile. Un esempio rilevante per l’industria delle costruzioni è un casco AR che visualizza informazioni sui cantieri, ma sicuramente più spettacolare è il casco per motociclisti.
Oggi la realizzazione di applicazioni che supportano la realtà aumentata si sta estendendo verso gli e-commerce e
Cos’è ARCore e come lavorare con Android Studio ai software AR?
Senza neanche bisogno di scendere nei particolari, la possibilità di sviluppare app, rese accessibili dal più grande e fornito store mondiale di applicazioni è di per se un vantaggio. Ma per comprendere veramente la facilità con cui Android fa parte dei device a nostra disposizione, basta pensare alla quantità di cellulari che lo supportano.
Per lavorare con Android è disponibile un software completo e gratuito, Android Studio, che mette a disposizione una serie di funzioni basilari, e altre installabili (sempre gratuitamente).
ARCore è la funzione di Android Studio che permette di iniziare a lavorare con la realtà aumentata (anche se per realizzare alcune operazioni si rivela necessario installare anche altri framework, come per esempio Sceneform). Una volta selezionato il tipo di progetto, sarà possibile iniziare a lavorare. I passi da compiere per iniziare a configurare una app sono:
- Scegliere tra un servizio che Richiesto AR (AR Required) o uno con AR Opzionale (AR Optional). Nel secondo caso si potrà installare l’applicazione su device che non supportano la augmented reality, ma sopratutto non verrà inviata la richiesta di installazione di Google Play services per AR.
- Installare e gestire le build dependencies.
- Controllare che i servizi di google play service per AR abbiano il permesso di inviare i dati, e che il device supporti tali tecnologie.
Servizio AR Optional
Per modificare un progetto Android Studio e renderlo compatibile con l’inserimento opzionale della realtà aumentata bisogna aggiungere le seguenti stringhe di codice nel file AndroidManifest.XML:
!-- "AR Optional" apps must declare minSdkVersion ≥ 14 -->
…
Servizi AR Required
Come ho spiegato precedentemente, la realizzazione di un servizio dedicato unicamente alla realtà aumentata richiede l’installazione di un servizio Google (obbligatorio), e limite l’accesso ad alcuni device di nuova generazione.
Per dichiarare l’attivazione di questo servizio, bisogna aggiungere al file AndroidManifest.XML:
!-- "AR Required" apps must declare minSdkVersion ≥ 24 -->
…
Aggiungere Build dependencies
Terminata la prima fase di dichiarazione dell’utilizzo delle AR, bisogna installare nella sezione Gradle le librerie ARCore e successivamente assicurarsi di controllare che la base del sistema sia stata riconosciuta, così come le librerie.
Esiste delle routine particolari utili a controllare, sui progetti in cui le AR sono opzionali, se il software è permesso dal device. Per farlo, basta interrogare le risorse di rete per determinare lo stato del dispositivo.
Per una corretta installazione del codice necessario a completare questa operazione, e a richiedere eventualmente la presenza dei servizi google supportivi, vi rimando all’articolo ufficiale di Google.
Quali sono le funzioni di ARCore?
ARCore è un kit che consente di creare applicazioni di realtà aumentata che sfruttino una o più delle seguenti tecnologie:
- Motion Tracking: il device riesce a comprendere la sua posizione nello spazio.
- Comprensione ambientale: il software rileva le dimensioni e la posizione delle superfici, indipendentemente dalla loro posizione spaziale.
- Stima la quantità di luce: comprende di stimare le condizioni di illuminazione dell’ambiente.
Come funziona ARCore?
Quando è attivato e viene spostato, ARCore memorizza le superfici dell’ambiente circostante e le ricrea in un mondo virtuale i cui posizionare i propri oggetti. Utilizzando il tracciamento del movimento per identificare i punti, riesce a farli muovere coordinandoli rispetto all’immagine della fotocamera.
Per mantenere gli oggetti virtuali in alcune posizioni fisse nel mondo reale, ARCore semplicemente ne memorizza la posizione,e riattiverà la loro grafica in fotocamera una volta che la posizione del device combaci approssimativamente con la posizione degli oggetti.
Combatibilità di ARCore
Al momento, ARCore SDK è disponibile per
- Android
- Android NDK
- Unity per Android
- Unity per iOS
- iOS
- Unreal