Pokémon GO stil økt virkelighet med Vuforia

1. Introduksjon

Takket være den ville suksessen til Pokémon GO, øker virkeligheten (AR) mye oppmerksomhet i den mobile utviklingsverdenen. Ideen om forstørret virkelighet er ikke ny, men bare nå er teknologien til slutt nær til modenhet og kommersiell levedyktighet. Men hva forsterkes virkeligheten nøyaktig?

Dette er et veldig bredt konsept som kan ta mange forskjellige former. Ideen kan brukes til underholdning, vitenskap, militær, utdanning, du nevner den. Hva disse programmene alle har til felles, er imidlertid en sanntidsforbindelse mellom den fysiske verden og det digitale.  

En direkte direkte eller indirekte visning av et fysisk, ekte miljø hvor elementene er utvidet (eller suppleres) av datagenerert sensorisk inngang som lyd, video, grafikk eller GPS-data. - Wikipedia

Konkret er AR ofte realisert i interaktive opplevelser som legger over et kamerafôr med 2D eller 3D objekter, informert av noen sensordata. 

Men å skape en engasjerende utvidet virkelighetserfaring fra grunnen kan være en ekte utfordring. Heldigvis er det noen tilgjengelige løsninger som kan gjøre denne jobben enklere. Et av de mest solide forsterkede virkelighetsverktøyene der ute, er Vuforia, et AR-bibliotek som er kompatibelt med Android, IOS, UWP, og noen merker med smarte briller. 

I denne opplæringen vil vi utforske forstørret virkelighet ved hjelp av Vuforia. Vi vil utforske Vuforias funksjoner, muligheter og utfordringer, og vi vil også se på hvordan SDK fungerer og dets hovedfunksjoner. Vi vil ikke undersøke noen kode i denne opplæringen - fremtidige opplæringsprogrammer i denne serien vil grave inn i kodingen i Vuforia, med trinnvise guider som målretter mot alle bibliotekets hovedtrekk.

Hvis du ønsker å grave dypere, hvorfor ikke lære om en av de mest grunnleggende av begreper AR, markører, i vår korte kurs:

2. Vuforia

Opprinnelig utviklet av Qualcomm og nylig kjøpt av PTC, er Vuforia på sin sjette versjon. Dens SDK utvikler seg kontinuerlig og er kompatibel med Android, IOS, UWP og Unity. Dessverre er Vuforia ikke åpen kildekode, men prisklassen er rimelig, og det er ingen upfront-kostnader for utvikling eller utdanning. Du kan skape nesten alle slags AR-erfaring på de mest populære mobile plattformene ved hjelp av Vuforia. 

2.1. Hvordan virker det?

Vuforia bruker enhetens kamerainnføring kombinert med akselerometer og gyroskopdata for å undersøke verden. Vuforia bruker datasyn å forstå hva det ser på kameraet for å skape en modell av miljøet. Etter å ha behandlet dataene, kan systemet lokalisere seg selv i verden, og kjenne dets koordinater: hvor er opp, ned, venstre, høyre og så videre. Det du gjør med dette, avhenger av dine utviklingsmål.

Det er flere muligheter:

  • Bruke verdens koordinater: Enhver form for gjenstand kan bli vist ved hjelp av noen vilkårlig referanse, ignorerer ekte hindringer, men vurderer verdens lokalisering oppnådd. Objektet kan være ute av syn og fortsette å "eksistere" i samme posisjon. Dette er et system som ligner det som brukes av Pokémon GO.
  • Anerkjenner mål: Vuforia kan se etter bestemte bilder som "mål". VuMarks, for eksempel et QR-kodebilde som kan gjenkjennes av systemet, kan brukes som ankerpunkter eller referanser for enhver form for objekt som projiseres inn i verden. Et magasin kan bli utvidet med denne ressursen, med sider som åpner for rike interaksjoner som videoer, lyd og så videre.
  • Gjenkjenne enkle objekter: Enkle gjenstander som bokser og sylindere kan gjenkjennes og brukes som ankerpunkter. Denne metoden er nyttig for å gjenkjenne pakker og gjøre dem interaktive.
  • Gjenkjenne komplekse objekter: Vuforia kan også se etter komplekse gjenstander, som leker, datadeler, gadgets og så videre. Disse objektene er tidligere skannet, i samsvar med spesifikke krav, og kan senere gjenkjennes av systemet. Denne funksjonaliteten kan for eksempel brukes til å skifte leker til levende skapninger, eller for å skape interaktiv assistanse for mekanikere eller tjenestefolk.
  • Leter etter ord: Engelske ord kan også forstås av Vuforia. Systemet kan lete etter bestemte ord og målrette noen form for interaksjon på dem. Dette kan være nyttig for læringsverktøy for barn eller for språkoversettelse.
  • Anerkjenner verdens terreng: En av de kraftigste funksjonene som er tilgjengelige på Vuforia, er evnen til å gjenkjenne verden som den er. Vuforia lar brukeren skanne omgivelsene og kan gjøre hardcore-behandling for å tolke verden ved å skape en 3D-datamaskinvisjon om den virkelige verden og dens objekter. Tenk deg et Pokémon GO-lignende spill hvor Pokémons kan skjule seg bak ekte objekter. Ville det ikke vært fantastisk?

2.2. Utvikle med Vuforia

Vuforia er kompatibel med flere systemer. Dens programvareutviklingssett (SDK) er tilgjengelig for Android, IOS, UWP og Unity. Når du laster ned og installerer SDK, må du registrere deg for en utviklerkonto og opprette en appnøkkel før du kan begynne å kode.

Selv om Vuforia er kompatibel med mange systemer, er den enkleste måten å skape engasjerende AR-opplevelser ved hjelp av SDK, definitivt å bruke Unity. Ikke misforstå, du kan få tilgang til nesten alt som Vuforia tilbyr når du utvikler deg direkte til Android eller iOS. Imidlertid er prosessen mye enklere når du er ferdig med å bruke prefabene som tilbys på Vuforias SDK for Unity.

3. Vuforia Mål

Som nevnt tidligere kan Vuforia søke "mål" på kameraet til å lage ankerpunkter eller referanser som skal brukes av AR-opplevelser. Disse målene kan påta seg mange former, og enhver fil som tidligere har blitt behandlet av Vuforia målsjef, kan gjenkjennes. Mål kan opprettes av utvikleren eller opprettes under utførelse av brukeren.

3.1

3.1. Bildemål

Enhver form for bilde kan være et Vuforia Image Target. Men jo mer detaljerte og intrikate bildet, desto bedre er det å bli gjenkjent av algoritmen. Mange faktorer vil være en del av anerkjennelsesberegningen, men i utgangspunktet må bildet ha et rimelig nivå av kontrast, oppløsning og skilleelementer. Et blå himmelfoto ville ikke fungere veldig bra, men et bilde av noe gress ville fungere grasiøst. Bildemål kan sendes med programmet, opprettet senere og lastet opp til programmet via et skytsystem, eller direkte opprettet på appen av brukeren.

3.2. VuMarks

En VuMark fungerer veldig likt en QR-kode; Det er imidlertid mye mer allsidig. Det kan ta mange former og farger og tilpasse seg et stort antall miljøer. Den største fordelen er at den er i full overensstemmelse med Vuforias anerkjennelsesalgoritme og vil bli lett "funnet" av enhver Vuforia AR-applikasjon. Vuforia tilbyr også et Adobe Illustrator-plugin som lager VuMarks.

3.3. Cylinder og Cube Mål

Det er også mulig å bruke terninger og sylindere som bildemål. Dette er veldig hensiktsmessig å skape engasjement med produktpakker. Når det er anerkjent, blir det primitive objektet brukt som et ankerpunkt, og det ser ut til å eksistere for systemets datasyn, slik at virtuelle objekter kan samhandle direkte med det primitive. Det virtuelle objektet kan for eksempel spore det virkelige objektets posisjon og orientering.

3.4. Objekter som mål

En av de mest interessante funksjonene i Vuforia er muligheten til å gjenkjenne komplekse objekter. Et leketøy, en telefon, en datamaskinbrett og andre typer objekter kan brukes som mål. 

For å bruke denne ressursen må du skanne objektet ved hjelp av Vuforia Object Scanner-verktøyet, som bare kjører på Samsung Galaxy S6 og S7. Datascanen lastes opp til Vuforia Target Manager, og det skannede objektet blir gjenkjent av en hvilken som helst kompatibel enhet ved hjelp av dataene.

3.5. Administrere mål

Det er flere måter å opprette et mål på: 

  • Søknaden kan sendes med en rekke mål innebygd.
  • Appen kan motta mål online via skyssystemet som tilbys av Vuforia.
  • Brukeren selv kan bruke enhetens kamera til å skape et mål. 

Som utvikler har du ikke mye kontroll over hvordan brukeren vil skape sitt mål; alt du kan gjøre er å gi brukeren noen tips om hvordan du velger et passende bilde som et mål. Situasjonen er imidlertid forskjellig for målene som er behandlet ved hjelp av Target Manager.

Vuforias utviklerportal gir oss verktøyet Target Manager for å hjelpe til med å administrere alle våre apps mål. Lederen er veldig enkel å bruke: du lager en database for å holde målene, laste opp en fil som tilsvarer et mål, og vent til filen er behandlet. Målet vil motta en unik ID og en poengsum relatert til hvor gjenkjennelig den er og vil da bli en del av databasen, tilgjengelig for nedlasting eller for lagring i skyen. 

Det finnes tre ulike typer måldatabaser:

  • Enhetsdatabaser er lokale databaser med bilder eller objektmål som er lagret på brukerens enhet.
  • VuMark Databaser er lokale databaser av VuMarks som er lagret på brukerens enhet.
  • Cloud databaser er databaser av bildemål lagret på nettet og forespurt over internett.

4. Smart terreng

Når du utvikler en Vuforia app på Unity, er det et veldig spennende alternativ tilgjengelig, Smart Terrain. Det tillater en applikasjon å kopiere 3D masker av objekter sett av kameraet. 

Prosessen fungerer som en slags skanning, hvor brukeren bruker enhetens kamera som en 3D-skanner. Etter hvert som kameraet skanner gjennom det omgivende miljøet, oppretter applikasjonen 3D-modeller av de anerkjente objektene, noe som gir applikasjonen muligheten til å justere scenariet til den virkelige verden, skape en dyp engasjerende opplevelse.

5. Konklusjon

Det er hundrevis av muligheter til å utforske med forstørret virkelighet, og vi begynner å klø på overflaten. Mange tror at AR vil være en del av vår fremtid, og at vi skal bruke det på en daglig basis. Dette er et felt som lover å vokse mye de kommende årene, og Vuforia gir oss kule verktøy for å skape engasjerende opplevelser.

5.1 Hva er neste

I de følgende veiledningene i denne serien, jobber vi med noen av Vuforias viktigste verktøy. Vi utvikler mange små eksperimenter for å illustrere SDK-evner, og siden Unity er det mest AR-vennlige miljøet som er tilgjengelig, vil alt bli utviklet på det. 

Det vil ikke være nødvendig å være en Unity-ekspert for å følge opplæringen - siden vårt fokus er Vuforia SDK, gir jeg deg trinnvise veiledninger som kun krever minimal tidligere erfaring med Enhet.

Hvis du vil lære litt mer om Unity i mellomtiden, sjekk ut noen av våre andre opplæringsprogrammer.

  • Lag et Basketball Free Throw Game med Unity

    I denne opplæringen vil du opprette et basketball free throw-spill i Unity. Du lærer om 3D-modeller, mesh-colliders, fysikkmaterialer, kollisjonssensor, ...
    Carlos Yanez
    Mobil utvikling
  • Opprette en 3D-by i enhet 5

    Velkommen til vår Unity-veiledning hvor vi skal lage en 3D-by i Unity 5-spillmotor. Du kan bruke dette prosjektet til din første person eller tredjeperson ...
    Sandra Gerber
    Enhet 3D
  • Tekstinngang for spill med bare et Intel RealSense-kamera

    I dette innlegget vil jeg dele hva jeg har lært om de beste (og verste!) Måtene å la spillerne skrive inn tekst via gest alene og vise deg hvordan du konfigurerer Intel ...
    Chris Skaggs
    Intel RealSense

Ser deg snart!