03/05/2023
Hvad er Augmented Reality?
Augmented reality (AR) er en teknologi, der integrerer digital information med brugerens virkelige omgivelser. Ved hjælp af en grænseflade, typisk en mobilapp, skabes en forbedret version af virkeligheden, hvor virtuelle objekter placeres i den fysiske verden. Forestil dig at se en virtuel sofa i din egen stue, før du køber den, eller at få vejledende pile projiceret på vejen foran dig, mens du går. Det er essensen af AR. Markedet for AR-applikationer forventes at nå omkring 200 milliarder dollars inden 2028, og 71% af forbrugerne foretrækker at handle online fra butikker, der bruger AR. Teknologien er ikke længere science fiction; den er her og transformerer måden, vi interagerer med den digitale og fysiske verden på.

Hvordan Virker AR på Mobilen?
Måden, AR-objekter placeres præcist i brugerens 3D-rum, varierer fra enhed til enhed. For mobile enheder spiller kameraet en central rolle. Det beregner og registrerer overflader baseret på, hvordan lys interagerer med forskellige planer i omgivelserne. Lad os se på forskellene mellem iOS og Android:
iOS og LiDAR
På iOS-enheder bruger LiDAR-sensorer (Light Detection and Ranging) til at scanne og måle afstanden mellem kameraet og objekter. Dette sker ved at udsende lysstråler, der reflekteres tilbage. Denne teknologi muliggør en utroligt nøjagtig kortlægning af omgivelserne og en mere problemfri integration af virtuelle objekter. Lys og fysik kan tilskrives objekterne mere præcist, hvilket resulterer i en mere realistisk oplevelse. Al information fra LiDAR-sensorerne og kameraet føres ind i ARKit, Apples AR Software Development Kit (SDK), som oversætter disse data til modeller, der placeres i brugerens miljø.
Android og ARCore
Android-enheder bruger ligesom iOS-enheder kameraet til at registrere overflader. Dog mangler mange Android-enheder den avancerede LiDAR-funktionalitet, som iPhones har. Her sker en stor del af arbejdet programmatisk. Information om lys, afstand og position beregnes gennem ARCore, Googles AR SDK. Selvom ARCore's overfladedetektion er mindre nøjagtig end LiDAR, muliggør den stadig tilføjelsen af realistiske lys- og fysikværdier til virtuelle objekter.
Almindelige Typer af AR
AR kan opdeles i flere hovedtyper, som hver især fungerer lidt forskelligt for at opnå det samme mål: at præsentere et objekt i brugerens 3D-rum.
Markerløs AR
Markerløs AR kræver ingen specifikke input fra omgivelserne, såsom en bestemt overflade, farve eller form. Udviklere tager dog ofte højde for overfladedetektion, så objekter kan interagere med f.eks. gulve og vægge. Et klassisk eksempel er spillet Pokémon GO, hvor spillere kan se og interagere med Pokémon i deres egne omgivelser. Amazon bruger også markerløs AR til at lade kunder se møbler eller maling i deres hjem, hvor appen tager højde for rummets form og objekternes placering.
Markerbaseret AR
Markerbaseret AR kræver en genstand eller en 'marker' for, at AR-objektet kan genkende og spore den. Dette sikrer, at objektet placeres korrekt. Ofte er det, der præsenteres af markeren, relateret til selve markeren. Denne type AR bruges ofte i kunstinstallationer eller museer, hvor virtuelle objekter er knyttet til kunstnerens værker. Visse visitkort bruger også markerbaseret AR til at vise 3D-modeller på en kompakt og interaktiv måde.
Projektions-AR
Projektions-AR kræver ikke en mobil enhed for at vise AR-objekter. I stedet projiceres objektet på en overflade via en projektor eller lignende enhed, så flere personer kan se det samtidigt uden individuelle enheder. BMW brugte for nylig denne teknologi under lanceringen af et nyt køretøj til at vise forskellige tilpasningsmuligheder. Hologrammer og hologramoptrædener er også eksempler på projektions-AR.
Hvorfor Bruger Organisationer Mobil AR?
Med den stigende e-handel forstår virksomheder vigtigheden af digitale løsninger til at optimere salgsprocessen. AR tilbyder virksomheder talrige muligheder for at skabe ny værdi. Fra møbler til underholdning bruges AR i dagligdagen. Uanset om det er til mobilspil, interaktive kort, design af rumindretning, tilpasning af biler eller skabelse af virtuelle medicinske rum, er der utallige muligheder for at investere i AR-oplevelser. AR-produktkonfiguratorer giver forbrugerne mulighed for nemt at tilpasse designs og placere virtuelle modeller i deres hjem, hvilket hjælper dem med at visualisere et produkt i kontekst, før de køber det. Denne 'prøv før du køber'-oplevelse giver kunderne mulighed for at visualisere, placere og konfigurere produkter, før de foretager et køb.
Bedste Mobil AR Udviklingsplatforme
Før udviklingen påbegyndes, skal organisationer beslutte, hvilken type applikation de ønsker: native eller cross-platform. Native udvikling giver adgang til platform-specifikke funktioner, mens cross-platform muliggør udvikling til både Android og iOS med én kodebase. Derefter er det tid til at vælge udviklingsværktøjet.
ARKit (Native Swift Udvikling)
ARKit er Apples primære framework til at skabe AR-applikationer til iOS i Swift. Med ARKit 6, lanceret i september 2022, tilbyder Apple en løsning, der optimerer udviklingsprocessen. ARKit bruger Swift og SwiftUI til at bygge applikationer.
Fordele ved ARKit:
- Swift er et sikkert, open-source og hurtigt programmeringssprog, der reducerer kode-redundans og forenkler vedligeholdelse.
- ARKit integreres problemfrit med SwiftUI, hvilket giver moderne og rene designs.
- Mulighed for at skabe AR-oplevelser i høj opløsning, især med LiDAR, hvilket giver utroligt nøjagtige og interaktive scener.
- Med motion capture, dybde API og scenegeometri er ARKit et af de mest robuste AR-biblioteker i mobiludvikling i dag.
- Native iOS-applikationer når ca. 56% af det amerikanske mobilmarked.
Begrænsninger ved ARKit:
- Frameworket er iOS-specifikt, hvilket betyder, at applikationer skabt med ARKit og RealityKit kun er tilgængelige på iOS-enheder.
- Apple gør det vanskeligt at skabe SDK'er til deres frameworks, hvilket begrænser cross-platform-support.
- ARKit er kun tilgængelig på iPhone 8 og nyere, hvilket begrænser brugeradgangen.
- Understøtter begrænsede filformater som .abc, .obj, .ply og .stl, hvilket kan være problematisk, hvis modeller er skabt på andre platforme.
- Udvikling udelukkende til iOS begrænser rækkevidden til mindre end 50% af det globale mobilmarked.
ARCore (Native Android Udvikling, Kind of)
ARCore er Googles platform til at bygge AR-oplevelser, lanceret i marts 2018. Teknisk set er ARCore et cross-platform SDK. ARCore bruger bevægelsessporing og et kamera til at forstå brugerens position og omgivelser, hvilket muliggør placering af objekter, annoteringer og integration med verden.
Fordele ved ARCore:
- ARCore har cross-platform-kapaciteter med native API'er til flere platforme, herunder Unity, iOS, Unreal Engine og Web.
- Primære programmeringssprog er Kotlin, Java eller C, hvilket giver brugeren valgfrihed.
- ARCore's evne til programmatisk at forstå omgivelserne uden avancerede sensorer er nøjagtig og integreres problemfrit.
- Mulighed for at beregne relativ position og spore brugerbevægelser muliggør dynamiske ændringer som lysestimering og fysikberegninger.
- Bruger Googles Cloud Feature API, der tillader deling af scener mellem enheder, så flere brugere kan manipulere det samme 3D-objekt samtidigt.
- Kan nå det meste af det globale mobilmarked på grund af cross-platform-understøttelse.
Begrænsninger ved ARCore:
- Relativt begrænsede funktioner til sceneoprettelse, mangel på kropssporing, dårlig dybdeopfattelse og håndtering af store objekter.
- Platformen understøttes kun på Android 8.1 eller nyere.
- Java og C kan medføre langsommelighed og oppustet kode med begrænset skalerbarhed i ARCore-applikationer. Kotlin har en stejlere læringskurve for AR, og dokumentationen er begrænset.
Unity
Unity er en kraftfuld rendering-engine, kendt for sine spiludviklingsevner. Som en cross-platform software giver Unity adgang til essentielle værktøjer til 2D- og 3D-udvikling.

Fordele ved Unity:
- Muliggør cross-platform mobiludvikling med AR Foundation, der understøtter funktioner fra ARKit, ARCore, HoloLens og mere.
- Projekter skrives i C# eller C++, hvilket giver modulær, opdaterbar og genanvendelig kode.
- Koden er lettere at vedligeholde end f.eks. ARCore eller Xamarin.
- Understøtter native Android- og iOS-funktioner som enhedssporing, recasting og 2D-objektsporing.
- Fremhæver animationer, modifikationer og optimeringer af 3D-modeller, hvilket skaber gengivelser af høj kvalitet.
Begrænsninger ved Unity:
- AR Foundation har begrænsninger for Android-kompatible applikationer, især med gengivelse og kamera-positionering.
- Cross-platform-applikationer i Unity er begrænset af ARCore's begrænsninger. iOS-apps kan ikke udnytte de avancerede funktioner i ARKit fuldt ud.
- Projekter skrevet i objektorienterede sprog kan blive komplekse, når nye funktioner tilføjes, hvilket potentielt kan føre til oppustet kode.
Xamarin
Xamarin Forms er et open-source UI-framework fra Microsoft, der tillader udvikling af Android- og iOS-applikationer. Xamarin tilføjede AR-kapaciteter i oktober 2018 og er fortsat et populært cross-platform framework.
Fordele ved Xamarin:
- Projekter skrives typisk i XAML med C# code-behind, hvilket muliggør deling af UI, kode, tests og forretningslogik mellem platforme.
- Udviklere kan skabe platform-specifik kode for dybere tilpasning og udnyttelse af platform-specifikke funktioner.
- Brugen af C# og .NET letter opdateringer og reducerer redundans i AR-specifik kode.
- Cross-platform-udvikling giver en 'skriv én gang, brug overalt'-tilgang.
- Mulighed for at integrere native kode giver adgang til funktioner, der ikke er tilgængelige på begge platforme.
- Xamarin kompilerer apps til native binære filer, hvilket sikrer ydeevne på niveau med native apps.
Begrænsninger ved Xamarin:
- Selvom Xamarin er tæt på native, kan kun 60%-95% af koden genbruges mellem platforme.
- Begrænset overlap i AR-håndtering mellem Android og iOS kræver betydelig platform-specifik kode.
- Behovet for at udvikle meget native kode kan være tidskrævende og reducere kodebasens optimering.
- Frame rate throttling kan forekomme ved komplekse animationer på grund af deling af grafik- og UI-kode.
Svagheder ved Mobil AR
Selvom AR gør store fremskridt, er der stadig udfordringer ved udvikling til mobile enheder:
1. Nøjagtighed
Sensorerne, der bruges til at registrere virkelige ankerpunkter, kan være fejlbehæftede, hvilket kan reducere præcisionen af virtuelle objekter. Selv nyere sensorer er ikke fejlfri.
2. Batteriforbrug
AR-applikationer er energikrævende. Sensorer, kamera, GPS og skærmen er alle essentielle dele af AR og bruger meget strøm. Det er en god idé at have en oplader klar.
3. Tilgængelighed
AR-frameworks er ofte kun tilgængelige på nyere enheder med kraftige processorer, hvilket begrænser antallet af brugere, der kan få adgang til AR-funktioner.
TappTips til Mobil AR Udvikling
Selvom der er udfordringer, er der mange muligheder inden for UX og softwareudvikling:
1. Planlæg for Mobilenhedens Begrænsninger
Fokuser ikke kun på én enhedstype. Design brugergrænsefladen med fleksibilitet for øje, og skaler UI'en til forskellige skærmstørrelser. Overvej virtuelle objekters størrelse i procentdele af skærmen og metoder til interaktion, der fungerer på tværs af enheder.
2. Modvirk det Kontraintuitive
AR-apps trives, når brugeren bevæger sig, men brugere er vant til 2D-apps. Informer brugerne om, hvordan de bedst bruger appens AR-funktioner gennem pop-up tips eller intuitive visuelle og auditive signaler. Kreativitet er nøglen til en mindeværdig AR-oplevelse.
3. Planlæg for Rum-Begrænsninger
Giv klare instruktioner til 'world discovery' (rumscanning). Vær opmærksom på, at trange rum kan være en udfordring. Tilpas appen til at fungere godt under forskellige forhold, og informer brugerne om eventuelle krav for optimal ydeevne. Dårlige lysforhold, trange rum og ensfarvede omgivelser kan påvirke sensorernes ydeevne.
4. Vis og Fortæl
Sørg for, at virtuelle objekter skiller sig ud. Brug kontraster og highlights til at guide brugerens opmærksomhed. Lyskede overflader og fremhævede objekter kan forbedre brugeroplevelsen. Test forskellige metoder for at se, hvad der virker bedst.
Hvad er Næste for Augmented Reality?
AR vinder frem i brancher som produktion, telekommunikation og energi til kommunikation og læring. Uddannelses- og sundhedssektoren bruger også AR og VR som engagerende teknologier. Fremadrettet vil AR-udvikling bringe nye funktioner, der muliggør mere komplekse interaktioner og nye måder for virksomheder at engagere sig med deres kunder på. AR's appel på mobilplatformen er så stærk, at mange brugere downloader apps udelukkende for at opleve AR-funktionerne. Teknologien opfylder vores behov for opdagelse og læring på en medrivende måde.
Opbygning af en Bedre Virkelighed
AR er blevet en 'must-have' teknologi på markedet og har potentiale inden for gaming, sundhedsteknologi, uddannelse, sport, produktion, handel og mange andre industrier. Konkurrencen er intens, men AR's stjerne er stadig stigende, og vi vil utvivlsomt se flere fantastiske udviklinger i fremtiden. AR bringer både fantastiske og realistiske repræsentationer af virkelige objekter ind i en halvt virtuel verden og beriger vores oplevelse af virkeligheden.
Hvis du vil læse andre artikler, der ligner Augmented Reality: Fremtiden for mobiloplevelser, kan du besøge kategorien Teknologi.
