Dankzij het wilde succes van Pokémon GO krijgt augmented reality (AR) veel aandacht in de wereld van mobiele ontwikkeling. Het idee van augmented reality is niet nieuw, maar pas nu komt de technologie eindelijk in de buurt van volwassenheid en commerciële levensvatbaarheid. Maar wat is augmented reality precies?
Dit is een heel breed concept dat vele verschillende vormen kan aannemen. Het idee kan worden toegepast op entertainment, wetenschap, leger, onderwijs, noem maar op. Wat deze toepassingen allemaal gemeen hebben, is echter een real-time verbinding tussen de fysieke wereld en de digitale wereld.
Een live directe of indirecte weergave van een fysieke, real-world omgeving waarvan de elementen worden aangevuld (of aangevuld) door computer-gegenereerde sensorische invoer zoals geluid, video, grafische afbeeldingen of GPS-gegevens. - Wikipedia
Concreet wordt AR vaak gerealiseerd in interactieve ervaringen die een camerafeed overlappen met 2D- of 3D-objecten, op de hoogte gebracht door bepaalde sensorgegevens.
Het creëren van een boeiende augmented reality-ervaring vanaf nul kan echter een echte uitdaging zijn. Gelukkig zijn er enkele oplossingen beschikbaar die deze taak gemakkelijker kunnen maken. Een van de meest solide augmented reality-tools die er zijn, is Vuforia, een AR-bibliotheek die compatibel is met Android, iOS, UWP en sommige merken smart-brillen.
In deze tutorial verkennen we augmented reality met Vuforia. We zullen de functies, mogelijkheden en uitdagingen van Vuforia verkennen, en we zullen ook bekijken hoe de SDK werkt en de belangrijkste functies ervan. We zullen geen enkele code onderzoeken in deze tutorial - toekomstige tutorials in deze serie zullen ingaan op de codering in Vuforia, met stapsgewijze handleidingen die alle hoofdfuncties van de bibliotheek targeten.
Als u dieper wilt graven, waarom leert u dan niet over een van de meest fundamentele concepten van AR, markers, in onze korte cursus:
Oorspronkelijk ontwikkeld door Qualcomm en onlangs gekocht door PTC, is Vuforia op zijn zesde versie. De SDK is voortdurend in ontwikkeling en is compatibel met Android, iOS, UWP en Unity. Helaas is Vuforia niet open source, maar de prijs is redelijk en er zijn geen kosten vooraf voor ontwikkeling of onderwijs. Je kunt vrijwel elke AR-ervaring creëren op de populairste mobiele platforms met Vuforia.
Vuforia gebruikt de camerafeed van het apparaat in combinatie met de gegevens van de versnellingsmeter en gyroscoop om de wereld te onderzoeken. Vuforia gebruikt de computervisie om te begrijpen wat het 'ziet' op de camera om een model van de omgeving te creëren. Na het verwerken van de gegevens kan het systeem zich ruwweg in de wereld lokaliseren, met de coördinaten ervan: waar is omhoog, omlaag, links, rechts, enzovoort. Wat je hiermee doet, hangt af van je ontwikkelingsdoelen.
Er zijn meerdere mogelijkheden:
Vuforia is compatibel met meerdere systemen. De software development kits (SDK's) zijn beschikbaar voor Android, iOS, UWP en Unity. Nadat u de SDK hebt gedownload en geïnstalleerd, moet u zich aanmelden voor een ontwikkelaarsaccount en een app-sleutel maken voordat u kunt beginnen met het coderen.
Hoewel Vuforia compatibel is met veel systemen, is de eenvoudigste manier om boeiende AR-ervaringen te creëren met behulp van de SDK absoluut gebruik van Unity. Begrijp me niet verkeerd, je hebt toegang tot bijna alles wat Vuforia biedt bij het rechtstreeks ontwikkelen voor Android of iOS. Het proces is echter veel eenvoudiger wanneer u de prefabs gebruikt die worden aangeboden op Vuforia's SDK voor Unity.
Zoals eerder vermeld, kan Vuforia 'doelen' op de camerafeed zoeken om ankerpunten of referenties te maken die door AR-ervaringen kunnen worden gebruikt. Die doelen kunnen vele vormen aannemen en elk bestand dat eerder is verwerkt door Vuforia-doelbeheerprogramma kan worden herkend. Targets kunnen door de ontwikkelaar worden gemaakt of tijdens de uitvoering door de gebruiker worden gemaakt.
3.1Elke soort afbeelding kan een Vuforia Image Target zijn. Hoe gedetailleerder en ingewikkelder de afbeelding, hoe beter het is om door het algoritme te worden herkend. Veel van de factoren zullen deel uitmaken van de herkenningsberekening, maar in principe moet het beeld een redelijk niveau van contrast, resolutie en onderscheidende elementen hebben. Een blauwe luchtfoto zou niet zo goed werken, maar een afbeelding van wat gras zou sierlijk werken. Beelddoelen kunnen met de toepassing worden verzonden, later worden gemaakt en via een cloudsysteem naar de toepassing worden geüpload, of door de gebruiker rechtstreeks in de app worden gemaakt.
Een VuMark werkt op dezelfde manier als een QR-code; het is echter veel veelzijdiger. Het kan vele vormen en kleuren aannemen en zich aanpassen aan een groot aantal omgevingen. Het grootste voordeel is dat het volledig conform is met het herkenningsalgoritme van Vuforia en gemakkelijk kan worden 'gevonden' door elke Vuforia AR-toepassing. Vuforia biedt ook een Adobe Illustrator-plug-in waarmee VuMarks wordt gemaakt.
Het is ook mogelijk om kubussen en cilinders als afbeeldingsdoelen te gebruiken. Dit is zeer geschikt om betrokkenheid bij productpakketten te creëren. Als het primitieve object eenmaal is herkend, wordt het gebruikt als een ankerpunt en lijkt het te bestaan voor de computervisie van het systeem, waardoor virtuele objecten direct kunnen interageren met de primitieve. Het virtuele object kan bijvoorbeeld de positie en oriëntatie van het echte object volgen.
Een van de meest interessante kenmerken van Vuforia is de mogelijkheid om complexe objecten te herkennen. Een speeltje, een telefoon, een computerbord en andere soorten objecten kunnen als doelen worden gebruikt.
Als u deze bron wilt gebruiken, moet u het object scannen met de Vuforia Object Scanner-tool, die alleen op Samsung Galaxy S6 en S7 wordt uitgevoerd. De gegevensscan wordt geüpload naar Vuforia Target Manager en het gescande object wordt herkend door elk compatibel apparaat dat die gegevens gebruikt.
Er zijn meerdere manieren om een doel te maken:
Als ontwikkelaar heb je niet veel controle over hoe de gebruiker zijn doel zal maken; alles wat je kunt doen is de gebruiker wat tips geven over hoe je een geschikte afbeelding als doel kunt kiezen. De situatie is echter anders voor de doelen die worden verwerkt met behulp van de Target Manager.
De ontwikkelaarportal van Vuforia voorziet ons van de Target Manager-tool om al onze doelen te beheren. De manager is heel eenvoudig te gebruiken: u maakt een database om de doelen te houden, uploadt een bestand dat overeenkomt met een doel en wacht totdat het bestand is verwerkt. Het doelwit ontvangt een unieke ID en een score gerelateerd aan hoe herkenbaar het is en wordt dan onderdeel van de database, beschikbaar voor download of voor opslag in de cloud.
Er zijn drie verschillende soorten doeldatabases:
Bij het ontwikkelen van een Vuforia-app op Unity is er een heel opwindende optie beschikbaar, de Smart Terrain. Hiermee kan een toepassing 3D-mazen van objecten repliceren die door de camera worden gezien.
Het proces werkt als een soort scan, waarbij de gebruiker de camera van het apparaat als een 3D-scanner gebruikt. Terwijl de camera door de omringende omgeving scant, maakt de toepassing 3D-modellen van de herkende objecten, waardoor de toepassing de mogelijkheid heeft om het scenario aan te passen aan de echte wereld, waardoor een diep innemende ervaring ontstaat.
Er zijn honderden mogelijkheden om te verkennen met augmented reality, en we beginnen net aan de oppervlakte te krabben. Velen geloven dat AR een deel van onze toekomst zal zijn en dat we het elke dag opnieuw zullen gebruiken. Dit is een veld dat de komende jaren veel belooft te groeien en Vuforia biedt ons coole tools om boeiende ervaringen te creëren.
In de volgende tutorials van deze serie zullen we werken met enkele van de belangrijkste hulpmiddelen van Vuforia. We zullen heel wat kleine experimenten ontwikkelen om de SDK-mogelijkheden te illustreren, en aangezien Unity de meest AR-vriendelijke omgeving is die beschikbaar is, zal er alles op worden ontwikkeld.
Het is niet nodig om een Unity-expert te zijn om de tutorials te volgen - aangezien onze focus de Vuforia SDK is, zal ik u stap-voor-staphandleidingen geven die slechts minimale eerdere ervaring met Unity vereisen.
Als je ondertussen wat meer wilt weten over Unity, bekijk dan enkele van onze andere tutorials.
Tot ziens!