Pokémon Go Style realitate augmentată cu Vuforia

1. Introducere

Datorită succesului sălbatic al Pokémon GO, realitatea augmentată (AR) obține o atenție deosebită în lumea dezvoltării mobile. Ideea realității augmentate nu este nouă, dar numai acum tehnologia se apropie în cele din urmă de maturitate și de viabilitatea comercială. Dar ceea ce este realitatea augmentată exact?

Acest concept foarte larg, care poate lua mai multe forme diferite. Ideea poate fi aplicată la divertisment, știință, militară, educație, pe care o numiți. Cu toate acestea, toate aceste aplicații au în comun, o conexiune în timp real între lumea fizică și cea digitală.  

O vizualizare directă sau indirectă a unui mediu fizic real, a cărui elemente sunt amplificate (sau completate) de intrări senzoriale generate de calculator, cum ar fi sunet, video, grafică sau date GPS. - Wikipedia

În mod concret, AR este adesea realizată în experiențe interactive care suprapun un feed de cameră cu obiecte 2D sau 3D, informate de unele date senzoriale. 

Cu toate acestea, crearea unei experiențe realiste îmbogățite de la zero poate fi o adevărată provocare. Din fericire, există câteva soluții disponibile care pot face acest lucru mai ușor. Una dintre cele mai solide instrumente de realitate extinse este Vuforia, o bibliotecă AR compatibilă cu Android, iOS, UWP și unele branduri de ochelari inteligenți. 

În acest tutorial vom explora realitatea augmentată folosind Vuforia. Vom explora trăsăturile, posibilitățile și provocările lui Vuforia și vom examina, de asemenea, cum funcționează SDK-ul și funcțiile sale principale. Nu vom explora niciun cod în acest tutorial - viitoarele tutoriale din această serie vor intra în codificare în Vuforia, cu ghiduri pas cu pas care vizează toate caracteristicile principale ale bibliotecii.

Dacă doriți să săturați mai adânc, de ce să nu învățați despre unul dintre cele mai fundamentale concepte ale AR, markeri, în cursul nostru scurt:

2. Vuforia

Dezvoltat inițial de Qualcomm și achiziționat recent de PTC, Vuforia este pe cea de-a șasea versiune. SDK-ul său este în continuă evoluție și este compatibil cu Android, iOS, UWP și Unity. Din nefericire, Vuforia nu este open source, dar gama sa de prețuri este rezonabilă și nu există costuri pentru dezvoltare sau educație. Puteți crea aproape orice fel de experiență AR pe cele mai populare platforme mobile folosind Vuforia. 

2.1. Cum functioneazã?

Vuforia utilizează alimentarea pentru cameră a aparatului, combinată cu date de accelerometru și giroscop, pentru a examina lumea. Vuforia utilizează viziunea computerului pentru a înțelege ce vede "pe cameră pentru a crea un model de mediu. După procesarea datelor, sistemul se poate localiza aproximativ în lume, cunoscând coordonatele sale: unde este sus, jos, stânga, dreapta și așa mai departe. Ce faceți cu acest lucru depinde de obiectivele dvs. de dezvoltare.

Există mai multe posibilități:

  • Folosirea coordonatelor mondiale: Orice fel de obiect poate fi expus folosind o referință arbitrară, ignorând obstacole reale, dar având în vedere localizarea mondială obținută. Obiectul poate fi iesit din vedere si poate continua sa "existe" in aceeasi pozitie. Acesta este un sistem similar celui folosit de Pokémon GO.
  • Recunoașterea țintelor: Vuforia poate căuta imagini specifice ca "ținte". VuMarks, de exemplu, o imagine în stil de cod QR foarte ușor de recunoscut de sistem, pot fi folosite ca puncte de ancorare sau referințe pentru orice tip de obiect proiectat în lume. O revistă ar putea fi "extinsă" cu această resursă, paginile sale deschizând interacțiuni bogate precum videoclipuri, audio etc..
  • Recunoașterea obiectelor simple: Obiecte simple precum cutii și cilindri pot fi recunoscute și utilizate ca puncte de ancorare. Această metodă este utilă pentru recunoașterea pachetelor și pentru a le face interactive.
  • Recunoașterea obiectelor complexe: Vuforia poate căuta și obiecte complexe, cum ar fi jucării, piese de calculator, gadget-uri și așa mai departe. Aceste obiecte sunt scanate anterior, respectând cerințele specifice și pot fi recunoscute ulterior de sistem. Această funcționalitate ar putea fi folosită, de exemplu, pentru a transforma jucăriile în creaturi vii sau pentru a crea asistență interactivă pentru mecanici sau oameni de serviciu.
  • Căutând cuvinte: Cuvintele engleze pot fi înțelese și de Vuforia. Sistemul poate căuta cuvinte specifice și poate viza un fel de interacțiune asupra lor. Acest lucru ar putea fi util pentru instrumentele de învățare pentru copii sau pentru traducerea limbilor străine.
  • Recunoscând terenul mondial: Una dintre cele mai puternice caracteristici disponibile pe Vuforia este capacitatea de a recunoaște lumea așa cum este ea. Vuforia permite utilizatorului să-și scaneze împrejurimile și poate face unele procesări hardcore pentru a interpreta lumea prin crearea unei viziuni 3D despre lumea reală și a obiectelor sale. Imaginați-vă un joc asemănător cu Pokemon GO, unde Pokemonii se pot ascunde în spatele obiectelor reale. Nu ar fi minunat?

2.2. Dezvoltarea cu Vuforia

Vuforia este compatibilă cu mai multe sisteme. Kiturile sale de dezvoltare software (SDK) sunt disponibile pentru Android, iOS, UWP și Unity. După ce descărcați și instalați setul SDK, va trebui să vă înscrieți pentru un cont de dezvoltator și să creați o cheie de aplicație înainte de a putea începe să codificați.

Chiar dacă Vuforia este compatibilă cu multe sisteme, cea mai ușoară modalitate de a crea experiențe de angajare AR utilizând SDK-ul său utilizează cu siguranță Unity. Nu mă înțelegeți greșit, puteți accesa aproape tot ceea ce oferă Vuforia când se dezvoltă direct pentru Android sau iOS. Cu toate acestea, procesul este mult mai simplu atunci când se face folosind prefabricatele oferite pe SDK Vuforia pentru unitate.

3. Obiectivele Vuforia

Așa cum am menționat mai sus, Vuforia poate căuta "ținte" pe hrana camerei pentru a crea puncte de ancorare sau referințe pentru a fi folosite de experiențele AR. Aceste ținte pot lua mai multe forme și orice fișier care a fost procesat anterior de managerul țintă Vuforia poate fi recunoscut. Obiectivele pot fi create de dezvoltator sau create în timpul execuției de către utilizator.

3.1

3.1. Tinta de imagine

Orice tip de imagine poate fi un Vuforia Image Target. Cu toate acestea, cu cât imaginea este mai detaliată și mai complexă, cu atât este mai bine să fie recunoscută de algoritm. O multitudine de factori vor face parte din calculul recunoașterii, dar în esență imaginea trebuie să aibă un nivel rezonabil de contrast, rezoluție și elemente distinctive. O fotografie albastră a cerului nu ar funcționa foarte bine, dar o fotografie a unor iarbă ar lucra cu grație. Obiectivele de imagine pot fi livrate împreună cu aplicația, create ulterior și încărcate în aplicație printr-un sistem de tip cloud sau create direct de aplicație de către utilizator.

3.2. VuMarks

Un VuMark funcționează foarte asemănător cu un Cod QR; cu toate acestea, este mult mai versatil. Poate să își asume multe forme și culori și să se adapteze unui număr mare de medii. Cel mai mare avantaj al său este că este în deplină conformitate cu algoritmul de recunoaștere al lui Vuforia și va fi ușor "găsit" de orice aplicație Vuforia AR. Vuforia oferă, de asemenea, un plugin Adobe Illustrator care creează VuMarks.

3.3. Cilindru și Cube țintă

De asemenea, este posibil să se utilizeze cuburi și cilindri ca obiective de imagine. Acest lucru este foarte potrivit pentru a crea angajament cu pachetele de produse. Odată recunoscut, obiectul primitiv este folosit ca punct de ancorare și pare să existe pentru viziunea calculatorului, permițând obiectelor virtuale să interacționeze direct cu primitivul. Obiectul virtual ar putea urmări poziția și orientarea obiectului real, de exemplu.

3.4. Obiectele ca ținte

Una dintre caracteristicile cele mai interesante ale Vuforia este posibilitatea de a recunoaște obiecte complexe. O jucărie, un telefon, o placă de computer și alte tipuri de obiecte pot fi folosite ca ținte. 

Pentru a utiliza această resursă, trebuie să scanați obiectul folosind instrumentul Vuforia Scanner Object, care rulează numai pe Samsung Galaxy S6 și S7. Scanarea datelor este încărcată în Vuforia Target Manager, iar obiectul scanat va fi recunoscut de orice dispozitiv compatibil care utilizează acele date.

3.5. Gestionarea țintelor

Există mai multe moduri de a crea un obiectiv: 

  • Aplicația poate fi livrată cu o serie de obiective încorporate.
  • Aplicația poate primi tinte online prin intermediul sistemului de cloud oferit de Vuforia.
  • Utilizatorii înșiși pot folosi camera aparatului pentru a crea o țintă. 

Ca dezvoltator, nu aveți prea mult control asupra modului în care utilizatorul își va crea ținta; tot ce puteți face este să oferi utilizatorului câteva sfaturi despre cum să alegeți o imagine adecvată ca țintă. Cu toate acestea, situația este diferită pentru obiectivele procesate utilizând Managerul țintă.

Portalul pentru dezvoltatori al portalului Vuforia ne oferă instrumentul de Manager de țintă pentru a ajuta la gestionarea tuturor obiectivelor aplicațiilor noastre. Managerul este foarte simplu de utilizat: creați o bază de date pentru a ține țintele, încărcați un fișier care corespunde unei țintă și așteptați până când fișierul este procesat. Obiectivul va primi un ID unic și un punctaj referitor la modul în care este ușor de recunoscut și va deveni apoi parte din baza de date, disponibilă pentru descărcare sau pentru stocare în cloud. 

Există trei tipuri diferite de baze de date țintă:

  • Baze de date pentru dispozitive sunt baze de date locale de imagini sau ținte de obiecte stocate pe dispozitivul utilizatorului.
  • Baze de date VuMark sunt baze de date locale ale VuMarks care sunt stocate pe dispozitivul utilizatorului.
  • Baze de date Cloud sunt bazele de date ale obiectelor de imagine stocate online și interogate pe internet.

4. Terrain inteligent

Atunci când dezvoltați o aplicație Vuforia pe Unity, există o opțiune foarte interesantă, Terrain inteligent. Permite o aplicație pentru replicarea ochiurilor 3D ale obiectelor văzute de aparatul de fotografiat. 

Procesul funcționează ca un fel de scanare, în cazul în care utilizatorul folosește aparatul ca scaner 3D. Pe măsură ce camera scanează prin mediul înconjurător, aplicația creează modele 3D ale obiectelor recunoscute, oferind aplicației posibilitatea de a adapta scenariul la lumea reală, creând o experiență profundă.

5. Concluzie

Există sute de posibilități de explorare cu realitatea augmentată și începem să-i zgârim suprafața. Mulți cred că AR va fi o parte a viitorului nostru și că îl vom folosi zilnic. Acesta este un domeniu care promite să crească foarte mult în următorii ani, iar Vuforia ne oferă instrumente reci pentru a crea experiențe captivante.

5.1 Ce urmează

În următoarele tutoriale din această serie, vom lucra cu unele dintre cele mai importante instrumente ale lui Vuforia. Vom dezvolta o mulțime de experimente mici pentru a ilustra capacitățile SDK-ului, iar din moment ce Unity este cel mai prietenos mediu disponibil pentru AR, totul va fi dezvoltat pe acesta. 

Nu va fi necesar să fiți un expert în unitate care să urmeze tutorialele - deoarece obiectivul nostru este SDF Vuforia, vă voi oferi ghiduri pas-cu-pas care necesită doar experiență minimă anterioară cu Unitatea.

Dacă doriți să aflați mai multe despre Unitate între timp, consultați câteva din celelalte tutoriale ale noastre.

  • Creați un joc gratuit de aruncare a baschetului cu unitatea

    În acest tutorial, veți crea un joc de aruncare liberă de baschet în Unity. Veți învăța despre modelele 3D, colizoarele de plasă, materialele fizice, detectarea coliziunilor, ...
    Carlos Yanez
    Dezvoltarea mobilă
  • Crearea unui oraș 3D în unitate 5

    Bine ați venit la tutorialul nostru Unity unde vom crea un oraș 3D în motorul de joc Unity 5. Puteți folosi acest proiect pentru persoana voastră de prima sau a treia persoană ...
    Sandra Gerber
    Unitate 3D
  • Introducerea textului pentru jocuri cu doar o cameră RealSense Intel

    În acest post, voi împărtăși ceea ce am învățat despre modalitățile cele mai bune (și cel mai rău!) De a permite jucătorilor să introducă text prin gesturi în sine și să vă arate cum să configurați Intel ...
    Chris Skaggs
    Intel RealSense

Ne vedem în curând!

Cod