Pokémon GO Style Realtà Aumentata con Vuforia

1. Introduzione

Grazie al successo selvaggio di Pokémon GO, la realtà aumentata (AR) sta ricevendo molta attenzione nel mondo dello sviluppo mobile. L'idea della realtà aumentata non è nuova, ma solo ora la tecnologia si sta finalmente avvicinando alla maturità e alla redditività commerciale. Ma cos'è esattamente la realtà aumentata?

Questo è un concetto molto ampio che può assumere molte forme diverse. L'idea può essere applicata a intrattenimento, scienza, militare, educazione, come lo chiami. Ciò che queste applicazioni hanno in comune, però, è una connessione in tempo reale tra il mondo fisico e il digitale.  

Una visione diretta o indiretta diretta di un ambiente fisico, reale, i cui elementi sono aumentati (o integrati) da input sensoriali generati dal computer come audio, video, grafica o dati GPS. - Wikipedia

Concretamente, l'AR viene spesso realizzato in esperienze interattive che si sovrappongono a un feed fotografico con oggetti 2D o 3D, informati da alcuni dati del sensore. 

Tuttavia, creare un'esperienza di realtà aumentata coinvolgente da zero può essere una vera sfida. Fortunatamente, ci sono alcune soluzioni disponibili che possono semplificare questo lavoro. Uno dei più solidi strumenti di realtà aumentata in circolazione è Vuforia, una libreria AR compatibile con Android, iOS, UWP e alcune marche di occhiali intelligenti. 

In questo tutorial esploreremo la realtà aumentata usando Vuforia. Esploreremo le caratteristiche, le possibilità e le sfide di Vuforia, e daremo anche un'occhiata a come funziona l'SDK e alle sue funzioni principali. In questo tutorial non esploreremo alcun codice: le esercitazioni future di questa serie tracceranno il codice in Vuforia, con guide dettagliate che riguardano tutte le funzionalità principali della libreria.

Se vuoi approfondire, perché non apprendere uno dei concetti più fondamentali di AR, marcatori, nel nostro breve corso:

2. Vuforia

Originariamente sviluppato da Qualcomm e recentemente acquistato da PTC, Vuforia è alla sua sesta versione. Il suo SDK è in continua evoluzione ed è compatibile con Android, iOS, UWP e Unity. Sfortunatamente, Vuforia non è open source, ma la sua fascia di prezzo è ragionevole e non ci sono costi iniziali per lo sviluppo o l'istruzione. Puoi creare quasi ogni tipo di esperienza AR sulle piattaforme mobili più popolari utilizzando Vuforia. 

2.1. Come funziona?

Vuforia utilizza l'alimentazione della fotocamera del dispositivo combinata con i dati dell'accelerometro e del giroscopio per esaminare il mondo. Vuforia usa la visione artificiale per capire cosa "vede" sulla fotocamera per creare un modello dell'ambiente. Dopo aver elaborato i dati, il sistema può approssimativamente trovarsi nel mondo, conoscendo le sue coordinate: dove è su, giù, sinistra, destra e così via. Quello che fai con questo dipende dai tuoi obiettivi di sviluppo.

Ci sono molteplici possibilità:

  • Usando le coordinate del mondo: Qualsiasi tipo di oggetto può essere esposto usando un riferimento arbitrario, ignorando gli ostacoli reali ma considerando la localizzazione del mondo ottenuta. L'oggetto può essere fuori dalla vista e continuare a "esistere" nella stessa posizione. Questo è un sistema simile a quello usato da Pokémon GO.
  • Riconoscere gli obiettivi: Vuforia può cercare immagini specifiche come "obiettivi". VuMarks, ad esempio, un'immagine in codice stile QR altamente riconoscibile dal sistema, può essere utilizzata come punti di ancoraggio o riferimenti per qualsiasi tipo di oggetto proiettato nel mondo. Una rivista potrebbe essere "espansa" con questa risorsa, con le sue pagine che aprono interazioni ricche come video, audio e così via.
  • Riconoscere oggetti semplici: Oggetti semplici come scatole e cilindri possono essere riconosciuti e utilizzati come punti di ancoraggio. Questo metodo è utile per riconoscere i pacchetti e renderli interattivi.
  • Riconoscere oggetti complessi: Vuforia può anche cercare oggetti complessi, come giocattoli, parti di computer, gadget e così via. Questi oggetti sono stati precedentemente scansionati, conformi a requisiti specifici e in seguito possono essere riconosciuti dal sistema. Questa funzionalità potrebbe essere utilizzata, ad esempio, per trasformare i giocattoli in creature vive o per creare assistenza interattiva per meccanici o persone di servizio.
  • Alla ricerca di parole: Le parole inglesi possono essere comprese anche da Vuforia. Il sistema può cercare parole specifiche e indirizzare su di esse un qualche tipo di interazione. Questo potrebbe essere utile per gli strumenti di apprendimento per i bambini o per la traduzione della lingua.
  • Riconoscere il terreno del mondo: Una delle funzionalità più potenti disponibili su Vuforia è la capacità di riconoscere il mondo così com'è. Vuforia consente all'utente di scansionare l'ambiente circostante e può eseguire alcune elaborazioni fondamentali per interpretare il mondo creando una visione computerizzata 3D del mondo reale e dei suoi oggetti. Immagina un gioco simile a Pokémon GO in cui i Pokémon possono nascondersi dietro oggetti reali. Non sarebbe fantastico??

2.2. Sviluppando con Vuforia

Vuforia è compatibile con più sistemi. I kit di sviluppo software (SDK) sono disponibili per Android, iOS, UWP e Unity. Una volta scaricato e installato l'SDK, dovrai registrare un account sviluppatore e creare una chiave app prima di poter iniziare a codificare.

Anche se Vuforia è compatibile con molti sistemi, il modo più semplice per creare esperienze AR accattivanti usando il suo SDK è sicuramente l'utilizzo di Unity. Non fraintendermi, puoi accedere a quasi tutto ciò che offre Vuforia sviluppando direttamente per Android o iOS. Tuttavia, il processo è molto più semplice quando si utilizzano i prefabbricati offerti su SDK di Vuforia per Unity.

3. Obiettivi di Vuforia

Come menzionato prima, Vuforia può cercare "obiettivi" sul feed della telecamera per creare punti di ancoraggio o riferimenti da utilizzare nelle esperienze AR. Questi obiettivi possono assumere molti moduli e qualsiasi file che è stato precedentemente elaborato da Vuforia target manager può essere riconosciuto. I target possono essere creati dallo sviluppatore o creati durante l'esecuzione dall'utente.

3.1

3.1. Obiettivi di immagine

Qualsiasi tipo di immagine può essere un Vuforia Image Target. Tuttavia, più l'immagine è dettagliata e complessa, migliore sarà l'algoritmo ad essere riconosciuto. Un sacco di fattori faranno parte del calcolo di riconoscimento, ma fondamentalmente l'immagine deve avere un livello ragionevole di contrasto, risoluzione e elementi distintivi. Una fotografia di cielo blu non funzionerebbe molto bene, ma una foto di erba funzionerebbe con grazia. I target di immagine possono essere forniti con l'applicazione, creati in un secondo momento e caricati nell'applicazione tramite un sistema cloud o creati direttamente dall'app dall'utente.

3.2. VuMarks

Un VuMark funziona in modo molto simile a un codice QR; tuttavia, è molto più versatile. Può assumere molte forme e colori e adattarsi a un gran numero di ambienti. Il suo più grande vantaggio è che è totalmente conforme all'algoritmo di riconoscimento di Vuforia e sarà facilmente "trovato" da qualsiasi applicazione AR Vuforia. Vuforia offre anche un plugin per Adobe Illustrator che crea VuMarks.

3.3. Obiettivi Cilindro e Cubo

È anche possibile utilizzare cubi e cilindri come obiettivi immagine. Questo è molto appropriato per creare coinvolgimento con i pacchetti di prodotti. Una volta riconosciuto, l'oggetto primitivo viene utilizzato come punto di ancoraggio e sembra esistere per la visione del computer del sistema, consentendo agli oggetti virtuali di interagire direttamente con la primitiva. L'oggetto virtuale potrebbe tracciare la posizione e l'orientamento dell'oggetto reale, per esempio.

3.4. Oggetti come obiettivi

Una delle caratteristiche più interessanti di Vuforia è la possibilità di riconoscere oggetti complessi. Un giocattolo, un telefono, una scheda di computer e altri tipi di oggetti possono essere utilizzati come target. 

Per utilizzare questa risorsa, è necessario eseguire la scansione dell'oggetto utilizzando lo strumento Scanner oggetti Vuforia, che funziona solo su Samsung Galaxy S6 e S7. La scansione dei dati viene caricata su Vuforia Target Manager e l'oggetto scansionato sarà riconosciuto da qualsiasi dispositivo compatibile che utilizza tali dati.

3.5. Gestione degli obiettivi

Esistono diversi modi per creare un obiettivo: 

  • L'applicazione può essere spedita con una serie di obiettivi incorporati.
  • L'app può ricevere gli obiettivi online attraverso il sistema cloud offerto da Vuforia.
  • L'utente stesso può utilizzare la fotocamera del dispositivo per creare un obiettivo. 

Come sviluppatore, non hai molto controllo su come l'utente creerà il proprio target; tutto ciò che puoi fare è fornire all'utente alcuni suggerimenti su come scegliere un'immagine appropriata come target. Tuttavia, la situazione è diversa per i target elaborati utilizzando il Target Manager.

Il portale per sviluppatori di Vuforia ci fornisce lo strumento Target Manager per aiutare a gestire tutti gli obiettivi delle nostre app. Il gestore è molto semplice da utilizzare: si crea un database per contenere i target, si carica un file che corrisponde a un target e si attende che il file venga elaborato. Il target riceverà un ID univoco e un punteggio relativo a quanto è riconoscibile e diventerà parte del database, disponibile per il download o per l'archiviazione nel cloud. 

Esistono tre diversi tipi di database di destinazione:

  • Database del dispositivo sono database locali di immagini o obiettivi di oggetti che sono memorizzati sul dispositivo dell'utente.
  • Database VuMark sono database locali di VuMarks che sono memorizzati sul dispositivo dell'utente.
  • Cloud Database sono database di Target di immagini memorizzati online e interrogati su Internet.

4. Smart Terrain

Quando sviluppi un'app di Vuforia su Unity, c'è un'opzione davvero eccitante disponibile, lo Smart Terrain. Consente a un'applicazione di replicare mesh 3D di oggetti visti dalla fotocamera. 

Il processo funziona come una sorta di scansione, in cui l'utente utilizza la fotocamera del dispositivo come uno scanner 3D. Mentre la fotocamera scansiona l'ambiente, l'applicazione crea modelli 3D degli oggetti riconosciuti, dando all'applicazione la possibilità di adattare lo scenario al mondo reale, creando un'esperienza profondamente coinvolgente.

5. conclusione

Ci sono centinaia di possibilità da esplorare con la realtà aumentata, e stiamo appena iniziando a scalfire la sua superficie. Molti credono che l'AR farà parte del nostro futuro e che lo useremo giorno per giorno. Questo è un campo che promette di crescere molto nei prossimi anni e Vuforia ci fornisce strumenti interessanti per creare esperienze coinvolgenti.

5.1 Cosa c'è Avanti

Nei seguenti tutorial di questa serie, lavoreremo con alcuni degli strumenti più importanti di Vuforia. Svilupperemo molti piccoli esperimenti per illustrare le funzionalità dell'SDK e poiché Unity è l'ambiente più amichevole disponibile per AR, sarà sviluppato tutto su di esso. 

Non sarà necessario essere un esperto di Unity per seguire le esercitazioni, dato che il nostro obiettivo è l'SDK Vuforia, ti fornirò guide passo-passo che richiedono solo una minima esperienza precedente con Unity.

Se vuoi saperne un po 'di più su Unity nel frattempo, dai un'occhiata ad alcuni dei nostri altri tutorial.

  • Crea un gioco di lancio gratuito di basket con Unity

    In questo tutorial, creerai un gioco di pallacanestro in Unity. Imparerai a conoscere i modelli 3D, i raccoglitori di maglie, i materiali fisici, il rilevamento delle collisioni, ...
    Carlos Yanez
    Sviluppo mobile
  • Creazione di una città 3D in Unity 5

    Benvenuto nel nostro tutorial Unity dove creeremo una città in 3D nel motore di gioco Unity 5. Puoi utilizzare questo progetto per la tua prima persona o terza persona ...
    Sandra Gerber
    Unity 3D
  • Input di testo per i giochi con solo una fotocamera Intel RealSense

    In questo post, condividerò ciò che ho imparato sui modi migliori (e peggiori!) Per consentire ai giocatori di inserire il testo tramite il solo gesto e mostrarvi come configurare Intel ...
    Chris Skaggs
    Intel RealSense

A presto!