Tack vare den vilda framgången hos Pokémon GO, ökar verkligheten (AR) mycket uppmärksamhet i den mobila utvecklingsvärlden. Tanken om ökad verklighet är inte ny, men bara nu är tekniken äntligen nära till mognad och kommersiell bärkraft. Men vad är förstärkt verklighet exakt?
Detta är ett väldigt brett koncept som kan ta många olika former. Tanken kan tillämpas på underhållning, vetenskap, militär, utbildning, du heter det. Vad dessa applikationer alla har gemensamt är dock en realtidsförbindelse mellan den fysiska världen och det digitala.
En direkt eller indirekt syn på en fysisk, verklig miljö vars element kompletteras (eller kompletteras) med datorgenererad sensorisk ingång, såsom ljud, video, grafik eller GPS-data. - Wikipedia
Konkret realiseras AR ofta i interaktiva upplevelser som överlagrar ett kameraflöde med 2D eller 3D-objekt, informerad av vissa sensordata.
Att skapa en engagerande förstärkt verklighetserfarenhet från grunden kan dock vara en riktig utmaning. Lyckligtvis finns det några lösningar som kan göra jobbet enklare. Ett av de mest solida förstärkta verklighetsverktygen där finns Vuforia, ett AR-bibliotek som är kompatibelt med Android, IOS, UWP och några märken av smarta glasögon.
I denna handledning kommer vi att utforska förstärkt verklighet med hjälp av Vuforia. Vi utforskar Vuforias funktioner, möjligheter och utmaningar, och vi ska också titta på hur SDK fungerar och dess huvudfunktioner. Vi kommer inte utforska någon kod i den här handledningen - framtida handledning i denna serie kommer att gräva in i kodningen i Vuforia, med stegvisa guider som riktar sig mot alla bibliotekets huvudfunktioner.
Om du vill gräva djupare, varför inte lära dig om ett av de mest grundläggande begreppen AR, markörer, i vår korta kurs:
Ursprungligen utvecklad av Qualcomm och nyligen köpt av PTC, är Vuforia på sin sjätte version. Dess SDK utvecklas ständigt och är kompatibel med Android, IOS, UWP och Unity. Tyvärr är Vuforia inte öppen källkod, men prisklassen är rimlig, och det finns ingen upfront-kostnad för utveckling eller utbildning. Du kan skapa nästan vilken typ av AR-upplevelse på de populäraste mobila plattformarna med hjälp av Vuforia.
Vuforia använder enhetens kameraflöde i kombination med accelerometer och gyroskopdata för att undersöka världen. Vuforia använder datasyn att förstå vad det ser på kameran för att skapa en modell av miljön. Efter bearbetning av data kan systemet grovt lokalisera sig i världen, känna till dess koordinater: var är upp, ner, vänster, höger och så vidare. Vad du gör med detta beror på dina utvecklingsmål.
Det finns flera möjligheter:
Vuforia är kompatibel med flera system. Dess programvaruutvecklingspaket (SDK) finns tillgängliga för Android, IOS, UWP och Unity. När du har hämtat och installerat SDK måste du registrera dig för ett utvecklarkonto och skapa en appnyckel innan du kan börja koda.
Trots att Vuforia är kompatibel med många system, använder det enklaste sättet att skapa engagerande AR-erfarenheter med hjälp av SDK-enheten definitivt Unity. Förse mig inte, du kan få tillgång till nästan allt som Vuforia erbjuder när du utvecklar direkt för Android eller iOS. Emellertid är processen mycket enklare när det görs med prefabs som erbjuds på Vuforias SDK för Unity.
Som tidigare nämnts kan Vuforia söka "mål" på kameraflödet för att skapa förankringspunkter eller referenser som ska användas av AR-upplevelser. Dessa mål kan utgå från många former, och alla filer som tidigare har bearbetats av Vuforia målchef kan identifieras. Mål kan skapas av utvecklaren eller skapas under körning av användaren.
3,1Vilken typ av bild som helst kan vara ett Vuforia bildmål. Men ju mer detaljerad och invecklad bilden desto bättre är att känna igen av algoritmen. Många faktorer kommer att ingå i beräkningen, men i princip måste bilden ha en rimlig nivå av kontrast, upplösning och särskiljande element. En blå himmelbild skulle inte fungera bra, men en bild av något gräs skulle fungera graciöst. Bildsmål kan skickas med programmet, skapas senare och laddas upp till programmet via ett molnsystem eller direkt skapas på appen av användaren.
En VuMark fungerar väldigt lik en QR-kod; Det är dock mycket mer mångsidigt. Det kan ta många former och färger och anpassa sig till ett stort antal miljöer. Den största fördelen är att den överensstämmer med Vuforias erkännandealgoritm och kommer lätt att "hittas" av någon Vuforia AR-applikation. Vuforia erbjuder också ett Adobe Illustrator-plugin som skapar VuMarks.
Det är också möjligt att använda kuber och cylindrar som bildmål. Det här är mycket lämpligt att skapa förlovning med produktpaket. När det är erkänt används det primitive objektet som en ankarpunkt, och det verkar existera för systemets datorvision, så att virtuella objekt kan interagera direkt med primitiva. Det virtuella objektet kan spåra det verkliga objektets position och orientering, till exempel.
En av de mest intressanta funktionerna i Vuforia är möjligheten att känna igen komplexa objekt. En leksak, en telefon, en datortavla och andra föremål kan användas som mål.
För att använda den här resursen måste du skanna objektet med verktyget Vuforia Object Scanner, som endast gäller Samsung Galaxy S6 och S7. Datascanningen laddas upp till Vuforia Target Manager, och det skannade objektet kommer att identifieras av en kompatibel enhet med den dataen.
Det finns flera sätt att skapa ett mål:
Som utvecklare har du inte mycket kontroll över hur användaren ska skapa sitt mål. allt du kan göra är att ge användaren några tips om hur du väljer en lämplig bild som ett mål. Situationen är emellertid annorlunda för de mål som bearbetas med hjälp av målhanteraren.
Vuforias utvecklingsportal ger oss verktyget Target Manager för att hjälpa till att hantera alla våra apps mål. Chefen är väldigt enkel att använda: du skapar en databas för att hålla målen, ladda upp en fil som motsvarar ett mål och vänta tills filen är bearbetad. Målet kommer att få ett unikt ID och en poäng relaterad till hur igenkännbar den är och kommer då att bli en del av databasen, tillgänglig för nedladdning eller för lagring i molnet.
Det finns tre olika typer av måldatabaser:
När du utvecklar en Vuforia app på Unity finns det ett riktigt spännande alternativ, Smart Terrain. Det tillåter en applikation att replikera 3D-maskor av objekt som ses av kameran.
Processen fungerar som en sorts skanning, där användaren använder enhetens kamera som en 3D-skanner. När kameran skannar genom omgivande miljö skapar programmet 3D-modeller av de igenkända objekten, vilket ger programmet möjligheten att anpassa scenariot till den verkliga världen och skapa en djupt engagerande upplevelse.
Det finns hundratals möjligheter att utforska med ökad verklighet, och vi börjar precis att klia på ytan. Många tror att AR kommer att vara en del av vår framtid och att vi kommer att använda det på ett dagligt sätt. Detta är ett fält som lovar att växa mycket under de närmaste åren, och Vuforia ger oss snygga verktyg för att skapa intressanta upplevelser.
I följande tutorials i denna serie arbetar vi med några av Vuforias viktigaste verktyg. Vi utvecklar många små experiment för att illustrera SDK-kapaciteterna, och eftersom Unity är den mest AR-vänliga miljön som är tillgänglig kommer allt att utvecklas på det.
Det kommer inte vara nödvändigt att vara en expert inom unionen för att följa handledningen - eftersom vårt fokus är Vuforia SDK, kommer jag att ge dig steg-för-steg-guider som endast kräver minimal tidigare erfarenhet av Unity.
Om du vill lära dig lite mer om Unity under tiden, kolla in några av våra andra handledning.
Ses snart!