What is ARKit 6 & how does it work?

Skab AR-magi: Din Første ARKit-App i Unity

22/02/2025

Rating: 4.38 (14582 votes)

Forestil dig dette: Du holder din telefon op, og pludselig sidder en majestætisk drage på din kaffekop. Nej, du har ikke drukket for meget kaffe – du oplever blot forbedret virkelighed, også kendt som Augmented Reality (AR)! Som udviklere får vi den unikke mulighed for at skabe disse magiske øjeblikke. I dag vil vi sammen bygge en AR-app ved hjælp af Unity og Apples kraftfulde ARKit, der giver brugere mulighed for at placere 3D-objekter i deres fysiske omgivelser. Og bare rolig, jeg drysser et par far-jokes ind for at holde stemningen let – for hvad sagde AR-udvikleren til pizzaen? "Jeg kan se et plan!" (Jeg finder selv ud).

How do I create a ARKit Xcode project?
Time to make your creation tangible: # Build command sequence 1. Click "Build and Run" 2. Create "iOSBuild" folder when prompted 3. Unity exports Xcode project Connect iOS device → Build and run! Lighting Matters: ARKit works best in well-lit environments. Dim rooms make AR objects look like ghosts!

At dykke ned i AR-udvikling kan virke overvældende, men med de rette værktøjer og en trin-for-trin guide er det mere tilgængeligt, end du måske tror. Unity, en af verdens mest populære spilmotorer, giver os en intuitiv platform til at designe og implementere vores AR-oplevelser, mens ARKit leverer den nødvendige underliggende teknologi til at interagere med den virkelige verden via iOS-enheder. Målet med denne artikel er at give dig en solid forståelse og praktiske skridt til at bygge din første AR-app, der ikke kun er funktionel, men også åbner døren til en verden af kreative muligheder.

Indholdsfortegnelse

Forudsætninger: Gør dit værktøjssæt klar

Før vi dykker ned, lad os få vores værktøjssæt klar. Disse er de essentielle ingredienser til vores AR-bryg:

  • Unity 2021.3+: Den mystiske smedje, hvor AR-kreationer bliver til virkelighed. Du kan downloade Unity Hub, som hjælper dig med at administrere forskellige Unity-versioner. Sørg for at vælge "iOS Build Support" under installationen, da det er afgørende for at kunne bygge til Apple-enheder.
  • Xcode 13+: Vores portal til iOS-enheder. Xcode er Apples integrerede udviklingsmiljø (IDE) og er nødvendigt for at kompilere og køre din Unity-app på en iPhone eller iPad. Du kan downloade det gratis fra Mac App Store.
  • iOS-enhed med A12 Bionic-chip eller bedre: Beklager, iPhone 6-elskere! For at udnytte de nyeste ARKit-funktioner fuldt ud, har du brug for en relativt moderne iOS-enhed. Dette inkluderer iPhone XS, XR, og nyere modeller, samt mange iPad-modeller fra de seneste år. Ældre enheder understøtter muligvis grundlæggende AR, men ydeevnen og adgangen til avancerede funktioner som LiDAR kan være begrænset.
  • AR Foundation 6.0+: Unitys schweizerkniv til AR. Dette er et Unity-pakke, der giver et samlet API til at arbejde med AR på tværs af forskellige platforme (herunder ARKit og ARCore). Det abstraherer kompleksiteten væk og gør det nemmere at skrive AR-kode, der fungerer overalt.
  • ARKit XR Plugin: Den hemmelige sovs til Apple-enheder. Dette plugin er specifikt for ARKit og implementerer AR Foundation-API'et for Apple-platformen. Det er det, der forbinder Unity med ARKit's native funktioner.

Sørg for, at alle disse komponenter er installeret og opdateret, før vi går videre. En god start er halvdelen af arbejdet!

Projektopsætning: Byg Fundamentet

Lad os lægge fundamentet for vores AR-eventyr i Unity.

1. Opret et nyt 3D-projekt

Åbn Unity Hub. Vælg "New Project" og derefter "3D Core" (eller blot "3D" i ældre versioner). Giv dit projekt et fængende navn som "ARKitWonderland" eller "MyFirstARDragon". Dette skaber et tomt 3D-projekt, som vi kan begynde at bygge vores AR-oplevelse i.

2. Installer AR-pakker

Nu skal vi tilføje de nødvendige AR-pakker til vores projekt. Naviger til Window > Package Manager. I Package Manager skal du sørge for, at dropdown-menuen øverst til venstre er indstillet til "Unity Registry" for at se alle tilgængelige pakker. Søg efter og installer følgende:

  • AR Foundation: Klik på "Install" for at tilføje denne pakke. Den giver kernen i AR-funktionaliteten i Unity.
  • ARKit XR Plugin: Efter at have installeret AR Foundation, søg efter "ARKit XR Plugin" og installer den også. Dette er den platformsspecifikke implementering for Apple-enheder.

Disse pakker er afgørende for, at Unity kan kommunikere med ARKit på din iOS-enhed og forstå den virkelige verden.

3. Konfigurer Player Settings

For at forberede dit projekt til iOS-udvikling skal vi justere nogle indstillinger. Gå til Edit > Project Settings > Player. Vælg iOS-ikonet i venstre side (et Apple-logo).

  • Bundle Identifier: Under afsnittet "Identification", sæt "Bundle Identifier" til noget unikt, f.eks. com.ditnavn.ARKitMaster. Dette er en unik streng, der identificerer din app på App Store og din enhed.
  • Target minimum iOS Version: Under "Other Settings", sørg for at "Target minimum iOS Version" er sat til 14.0+ eller højere. Dette sikrer kompatibilitet med de nyeste ARKit-funktioner.
  • Camera Usage Description: Under "Other Settings" og afsnittet "Camera", udfyld "Camera Usage Description". Dette er den besked, der vises for brugeren, når din app anmoder om adgang til kameraet. En god beskrivelse er f.eks. "Denne app kræver adgang til kameraet for at skabe forbedrede virkelighedsoplevelser." Dette er et lovkrav for apps, der bruger kameraet på iOS.

Scene-konfiguration: Scenen er sat

Lad os nu opsætte vores AR-legeplads i Unity-scenen.

1. Slet Hovedkamera

I "Hierarchy"-vinduet skal du finde og slette standard "Main Camera" GameObject. AR Foundation vil selv oprette og styre et kamera, der er optimeret til AR.

2. Opret AR Session Origin

Højreklik i "Hierarchy"-vinduet, vælg XR > AR Session Origin. Omdøb det til "AR Session Origin". Dette GameObject fungerer som rodpunktet for alt AR-indhold og styrer transformationsrummet mellem den virkelige verden og Unitys virtuelle verden. Det er her, alle dine virtuelle objekter vil blive placeret i forhold til den virkelige verden.

3. Tilføj AR-komponenter

Med "AR Session Origin" valgt i "Hierarchy", skal du tilføje følgende komponenter i "Inspector"-vinduet (klik på "Add Component"):

  • AR Session Origin (komponent): Denne komponent er allerede tilføjet, når du opretter GameObjectet via XR-menuen. Den er ansvarlig for at styre AR-sessionen og transformationerne.
  • AR Plane Manager: Denne komponent gør det muligt for din app at registrere flade overflader (planer) i den virkelige verden, som borde, gulve og vægge. Den er essentiel for at kunne placere objekter præcist.
  • AR Raycast Manager: Denne komponent gør det muligt at udføre "raycasts" fra skærmen ud i den virkelige verden for at detektere, hvor brugeren trykker, og om der er et AR-sporingspunkt eller plan på det sted. Dette er afgørende for interaktiv objektplacering.
  • AR Point Cloud Manager: Denne komponent giver adgang til en "point cloud" af rå sporingsdata, der indsamles af ARKit. Dette kan være nyttigt for at visualisere ARKit's forståelse af miljøet under udvikling, selvom det ofte ikke er synligt for slutbrugeren.

4. Opret AR Session GameObject

Højreklik igen i "Hierarchy"-vinduet, vælg XR > AR Session. Dette GameObject er ansvarligt for ARKit-sessionens livscyklus, herunder start, pause og genoptagelse af AR-sporing. Det skal eksistere i din scene, for at ARKit kan fungere.

Placeringsindikator: Dit AR-kompas

Visuel feedback er afgørende i AR for at guide brugeren. Lad os oprette en enkel placeringsindikator.

1. Opret en Quad

Højreklik i "Hierarchy"-vinduet, vælg 3D Object > Quad. Omdøb den til "PlacementIndicator". En Quad er en simpel 2D-flade, som vi vil bruge til at vise, hvor et objekt kan placeres.

2. Materialeopsætning

I "Project"-vinduet, højreklik Create > Material. Omdøb det til "TransparentIndicator". I "Inspector"-vinduet for dette nye materiale:

  • Shader: Vælg Unlit/Transparent. Dette vil gøre materialet gennemsigtigt.
  • Tildel en PNG-tekstur: Hvis du har en PNG-tekstur med en alfakanal (f.eks. en cirkel med en gennemsigtig midte), træk den ind i "Albedo"-feltet på materialet. Dette vil give din indikator et visuelt udseende. Hvis du ikke har en, kan du bare lade den være tom, eller bruge en standard hvid farve og justere "Alpha" for gennemsigtighed.

Træk nu "TransparentIndicator"-materialet fra "Project"-vinduet over på "PlacementIndicator" GameObjectet i "Hierarchy"-vinduet for at tildele det.

3. Skaler indikatoren

Sørg for, at "PlacementIndicator" er valgt i "Hierarchy". I "Inspector"-vinduet, sæt "Scale" til 0.1 på alle akser (X, Y, Z). Dette gør indikatoren lille og diskret.

Den Magiske Kode: Tryk-for-at-placere-funktionalitet

Nu kommer kernen i vores app – scriptet, der gør det muligt at placere objekter i den virkelige verden med et tryk.

1. Opret "ARTapHandler.cs"-scriptet

I "Project"-vinduet, højreklik Create > C# Script. Omdøb det til "ARTapHandler". Dobbeltklik for at åbne det i din foretrukne kode-editor (f.eks. Visual Studio eller Rider). Er du klar til en far-joke mere? Hvorfor krydsede AR-dragen vejen? For at komme til den anden side af den virtuelle bro! Ha!

2. Indsæt og forstå koden

Kopiér følgende kode ind i dit "ARTapHandler.cs"-script:

using UnityEngine; using UnityEngine.XR.ARFoundation; using UnityEngine.XR.ARSubsystems; // Til TrackableType using System.Collections.Generic; // Til List public class ARTapHandler: MonoBehaviour { [SerializeField] private GameObject objectToPlace; // Dit prefab skal herind [SerializeField] private GameObject placementIndicator; // Din placeringsindikator herind private ARRaycastManager raycastManager; private bool placementValid = false; private Pose placementPose; void Start() { raycastManager = FindObjectOfType<ARRaycastManager>(); if (placementIndicator != null) { placementIndicator.SetActive(false); // Skjul indikatoren ved start } } void Update() { UpdatePlacement(); // Opdater placering af indikator // Tjek for gyldig placering og touch-input if (placementValid && Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began) { PlaceObject(); // Placer objektet } } private void UpdatePlacement() { // Find midten af skærmen var screenCenter = Camera.main.ViewportToScreenPoint(new Vector3(0.5f, 0.5f)); var hits = new List<ARRaycastHit>(); // Udfør en raycast fra skærmens midte // Vi leder efter planer (TrackableType.Planes) raycastManager.Raycast(screenCenter, hits, TrackableType.Planes); // Hvis der er et hit, er placeringen gyldig placementValid = hits.Count > 0; if (placementValid) { // Gem posen (position og rotation) for det første hit placementPose = hits[0].pose; // Opdater placering og rotation af indikatoren placementIndicator.transform.SetPositionAndRotation(placementPose.position, placementPose.rotation); // Vis indikatoren if (!placementIndicator.activeSelf) { placementIndicator.SetActive(true); } } else { // Skjul indikatoren, hvis placeringen ikke er gyldig if (placementIndicator.activeSelf) { placementIndicator.SetActive(false); } } } private void PlaceObject() { // Instantier (opret) objektet på den fundne placering og rotation Instantiate(objectToPlace, placementPose.position, placementPose.rotation); } } 

3. Nøglefunktioner og forklaring

  • [SerializeField] private GameObject objectToPlace;: Dette er en variabel, hvor du vil trække dit 3D-objekt (prefab) ind fra "Project"-vinduet. Det er det objekt, der vil blive placeret i AR.
  • [SerializeField] private GameObject placementIndicator;: Her trækker du din "PlacementIndicator" Quad ind fra "Hierarchy".
  • ARRaycastManager raycastManager;: Dette er en reference til den ARRaycastManager-komponent, vi tilføjede til "AR Session Origin". Vi bruger den til at udføre raycasts.
  • void Start(): Ved starten af appen finder vi ARRaycastManager-komponenten og skjuler placeringsindikatoren.
  • void Update(): Denne funktion kaldes hver frame. Den udfører to hovedopgaver: opdaterer placeringsindikatoren og tjekker for brugerens tryk.
  • UpdatePlacement():
    • var screenCenter = Camera.main.ViewportToScreenPoint(new Vector3(0.5f, 0.5f));: Beregner midten af skærmen.
    • raycastManager.Raycast(screenCenter, hits, TrackableType.Planes);: Udfører en raycast fra skærmens midte. Den søger efter "Planes" (flade overflader), som ARKit har detekteret.
    • placementValid = hits.Count > 0;: Sætter placementValid til sand, hvis raycasten ramte et plan.
    • Hvis placeringen er gyldig, opdateres placementPose med den fundne position og rotation, og placementIndicator flyttes til denne pose og gøres synlig. Ellers skjules indikatoren.
  • PlaceObject():
    • Instantiate(objectToPlace, placementPose.position, placementPose.rotation);: Opretter en ny instans af dit objectToPlace prefab på den position og rotation, som placementPose angiver.

4. Forbind scriptet i Unity

I Unity, opret et nyt tomt GameObject (Right-click in Hierarchy > Create Empty) og omdøb det til f.eks. "AR Controller". Træk dit "ARTapHandler.cs"-script fra "Project"-vinduet og slip det på "AR Controller" GameObjectet i "Hierarchy".

Nu, med "AR Controller" valgt i "Hierarchy", træk dit "PlacementIndicator" GameObject fra "Hierarchy" ind i "Placement Indicator"-feltet i "ARTapHandler (Script)"-komponenten i "Inspector".

Til sidst, træk et 3D-objekt (f.eks. en terning, en cylinder eller din egen drage-model) fra "Project"-vinduet (eller "Hierarchy" hvis du lige har oprettet det) ind i "Object To Place"-feltet. Hvis det er et simpelt objekt som en terning, kan du trække den direkte fra "Hierarchy" ind i feltet. Hvis du vil have flere instanser, er det bedre at gøre den til et prefab først ved at trække den fra "Hierarchy" ned i "Project"-vinduet.

Billedsporing: AR, der genkender virkeligheden

Lad os gøre vores app i stand til at genkende specifikke billeder i den virkelige verden og udløse AR-indhold baseret på dem.

1. Aktiver Billedsporing

Vælg "AR Session Origin" i "Hierarchy". Tilføj komponenten "AR Tracked Image Manager" (Add Component > AR Tracked Image Manager). Denne komponent er ansvarlig for at detektere og spore billeder i AR-sessionen.

How augmented reality & VR will revolutionize the mobile gaming industry?
Augmented reality (AR) and virtual reality (VR) are two technologies that have the potential to revolutionize the mobile gaming industry. AR overlays digital elements on the real world, while VR creates a completely immersive virtual environment. AR games have already started to gain traction, with games like Pokemon Go being a huge success.

2. Opret et Reference Image Library

I "Project"-vinduet, højreklik Create > XR > Reference Image Library. Omdøb det til f.eks. "MyImageLibrary". Dobbeltklik for at åbne det.

Klik på "Add Image"-knappen. Træk dine målbilleder (JPG/PNG) ind i de dertil indrettede felter. Vigtigt: Sæt "Physical Size" (f.eks. 0.5 for en 50 cm bred plakat). Denne størrelse hjælper ARKit med at forstå skalaen af billedet i den virkelige verden. Sørg for at billederne har god kontrast og er unikke.

3. Tracked Image Prefab Opsætning

  • Opret et tomt GameObject: Højreklik i "Hierarchy" Create Empty og omdøb det til "ImageTracker".
  • Tilføj AR Tracked Image komponent: Med "ImageTracker" valgt, klik "Add Component" og søg efter "AR Tracked Image".
  • Træk Reference Image Library: Træk "MyImageLibrary" fra "Project"-vinduet ind i "Serialized Library"-feltet på "AR Tracked Image"-komponenten.
  • Opret child objects: Opret de 3D-objekter, du vil have vist, når billedet detekteres, som underobjekter ("child objects") til "ImageTracker". Disse objekter vil automatisk blive aktiveret og placeret relativt til det sporede billede. For eksempel, hvis du vil have en drage til at dukke op på en plakat, skal drage-modellen være et underobjekt til "ImageTracker".

For at dette skal fungere, skal du også trække "ImageTracker"-prefabben (lav "ImageTracker" til en prefab ved at trække den fra Hierarchy til Project-vinduet) ind i "Tracked Image Prefab"-feltet på "AR Tracked Image Manager"-komponenten på "AR Session Origin".

Bygning til iOS: Den Sidste Grænse

Tid til at gøre din kreation håndgribelig og køre den på en rigtig enhed.

1. Unity Build Settings

Gå til File > Build Settings. Vælg "iOS" i listen over platforme. Hvis du ikke har "iOS Build Support" installeret, vil Unity bede dig om at installere det via Unity Hub. Klik på "Switch Platform" for at skifte dit projekt til iOS-platformen. Dette kan tage et par minutter.

2. Player Settings Justeringer

Mens du er i "Build Settings"-vinduet, klik på "Player Settings..."-knappen nederst til venstre. Dette åbner "Project Settings"-vinduet, hvor vi tidligere var.

  • Graphics API: Under "Other Settings", find "Graphics APIs". Sørg for, at kun "Metal" er i listen. Hvis "OpenGLES3" er der, fjern det. Metal er Apples moderne grafik-API og er essentiel for ARKit.
  • Architecture: Under "Other Settings", sæt "Architecture" til "ARM64". Dette er den 64-bit arkitektur, som moderne iOS-enheder bruger.
  • Target SDK: Sæt "Target SDK" til "Device SDK".

3. Byggeproces

Tilbage i "Build Settings"-vinduet, klik på "Build and Run".

  • Unity vil bede dig om at vælge en mappe til dit Xcode-projekt. Opret en ny mappe, f.eks. "iOSBuild", og vælg den.
  • Unity vil nu eksportere dit Unity-projekt som et Xcode-projekt. Dette kan tage et stykke tid afhængigt af projektets størrelse.

4. Xcode Færdiggørelse

  • Når Unity er færdig, åbn den .xcodeproj-fil, der blev eksporteret (den ligger i den "iOSBuild"-mappe, du oprettede).
  • I Xcode, vælg dit projekt i venstre side (den øverste post). I fanen "Signing & Capabilities", skal du vælge dit "Development Team". Hvis du ikke har et, skal du logge ind med din Apple ID og oprette et personligt team.
  • Forbind din iOS-enhed til din Mac via USB-kabel. Vælg din enhed som målenhed i Xcode (øverst i midten af vinduet).
  • Klik på "Play"-knappen (trekanten) i Xcode for at bygge og køre appen på din enhed.

Voila! Din AR-app burde nu starte på din iPhone eller iPad.

Pro-tips fra AR-skyttegravene

Efter mange timer med at jage virtuelle drager, har jeg samlet et par tips, der kan spare dig for hovedpine:

  • Belysning betyder noget: ARKit fungerer bedst i godt oplyste omgivelser. Mørke rum får AR-objekter til at se ud som spøgelser, fordi ARKit har svært ved at spore funktioner og estimere belysning præcist. Sørg for god, jævn belysning for de bedste resultater.
  • Skaler virkeligheden: Overvej altid den virkelige verdens skala. En 10-meter drage i en stue bryder indlevelsen hurtigere end en far-joke på en stand-up-klub. Brug realistiske skalaer for dine 3D-modeller, og overvej at give brugeren mulighed for at justere skalaen.
  • Fejlhåndtering: Tilføj tilbagekald til AR-sessionen for at håndtere forskellige tilstande. Dette kan hjælpe dig med at give meningsfuld feedback til brugeren, hvis AR-sessionen ikke kan starte eller midlertidigt mister sporing.
ARSession.stateChanged += (state) => { if (state == ARSessionState.NeedsInstall) { Debug.Log("ARKit-opdatering påkrævet!"); // Vis en besked til brugeren om, at en systemopdatering er nødvendig } else if (state == ARSessionState.Unsupported) { Debug.Log("AR er ikke understøttet på denne enhed."); // Informer brugeren om, at deres enhed ikke understøtter AR } }; 

Fejlfinding af almindelige "dragedræbere"

Når AR-gnomerne slår til, kan disse tips hjælpe dig med at komme videre:

  • "No ARSession"-fejl: Dobbeltcheck, at "AR Session" GameObjectet eksisterer i din scene og er aktivt. Det er essentielt for ARKit's funktionalitet.
  • Sort skærm: Verificer kameratilladelser i "Player Settings" (Camera Usage Description). Sørg også for, at dit "AR Session Origin" har "AR Camera Manager"-komponenten, selvom den ofte tilføjes automatisk. Tjek, at din enhed har givet appen kameratilladelse.
  • Rystende objekter: Aktiver estimering af miljøbelysning i ARKit-indstillingerne (på "AR Session Origin" GameObjectet, under "AR Camera Manager"-komponenten, kan du finde indstillinger for "Light Estimation"). Sørg for, at enheden bevæges langsomt og stabilt under sporing. Dårlig belysning kan også forårsage rystelser.

Hvor skal vi gå herfra? Dyk dybere ned i ARKit 6

Du har lige ridset overfladen af AR-udvikling! ARKit er en konstant udviklende platform, og med ARKit 6 er der kommet endnu flere spændende funktioner. Lad os se på nogle af dem, som du kan udforske videre:

4K Videooptagelse

ARKit 6 introducerer muligheden for at optage en 4K-videofeed ved hjælp af bagkameraet under en ARKit-session. Dette er perfekt til apps, der integrerer virtuelt og den virkelige verden indhold til videoproduktion, såsom sociale medier, professionel videoredigering og filmproduktionsapps. Forestil dig at optage din virtuelle drage i 4K-kvalitet, mens den flyver rundt i dit stue!

  • Kræver: iPhone 11 eller nyere, eller iPad Pro (5. generation) eller nyere.

Dybde-API

De avancerede scene-forståelsesfunktioner, der er indbygget i LiDAR-scanneren, giver denne API mulighed for at bruge per-pixel dybdeinformation om de omgivende omgivelser. Når det kombineres med de 3D-mesh-data, der genereres af "Scene Geometry" (en ARKit-funktion, der skaber et 3D-net af miljøet), gør denne dybdeinformation virtuel objekt-okklusion endnu mere realistisk. Dette muliggør øjeblikkelig placering af virtuelle objekter og blander dem problemfrit med deres fysiske omgivelser. Dette kan drive nye funktioner i dine apps, som f.eks. at tage mere præcise målinger eller anvende effekter til et brugeres miljø.

  • Kræver: Enheder udstyret med LiDAR-scanneren: iPad Pro 11-tommer (2. generation), iPad Pro 12,9-tommer (4. generation), iPhone 12 Pro, iPhone 12 Pro Max og nyere Pro-modeller.

Øjeblikkelig AR

LiDAR-scanneren muliggør en utrolig hurtig plan-detektion, hvilket giver mulighed for øjeblikkelig placering af AR-objekter i den virkelige verden uden behov for forudgående scanning. Øjeblikkelig AR-placering er automatisk aktiveret på iPhone 12 Pro, iPhone 12 Pro Max og iPad Pro for alle apps bygget med ARKit, uden at der kræves kodeændringer. Dette betyder en langt hurtigere og mere flydende brugeroplevelse, hvor objekter kan "dukke op" øjeblikkeligt.

  • Kræver: Enheder udstyret med LiDAR-scanneren: iPad Pro 11-tommer (2. generation), iPad Pro 12,9-tommer (4. generation), iPhone 12 Pro, iPhone 12 Pro Max og nyere Pro-modeller.

Bevægelsesfangst (Motion Capture)

Fang bevægelsen af en person i realtid med et enkelt kamera. Ved at forstå kropsposition og -bevægelse som en række led og knogler, kan du bruge bevægelse og positurer som et input til AR-oplevelsen – og placere mennesker i centrum af AR. Højdeestimering forbedres på iPhone 12, iPhone 12 Pro og iPad Pro i alle apps bygget med ARKit, uden at der kræves kodeændringer. Dette åbner op for interaktive oplevelser, hvor brugerens kropsbevægelser kan styre AR-indhold eller interagere med virtuelle figurer.

  • Kræver: Alle ARKit-kompatible enheder. Forbedret højdeestimering på iPhone 12 og nyere.

Samtidig brug af for- og bagkamera

Brug ansigts- og verdenssporing samtidigt på både for- og bagkameraerne, hvilket åbner op for nye muligheder. For eksempel kan brugere interagere med AR-indhold i bagkameraets visning ved blot at bruge deres ansigt. Forestil dig at ændre farven på et virtuelt objekt ved at rynke på næsen, mens du ser det i den virkelige verden!

  • Kræver: Alle ARKit-kompatible enheder.

Disse avancerede funktioner viser ARKit's potentiale til at skabe endnu mere fordybende og interaktive AR-oplevelser.

Sammenligning af ARKit 6 Funktioner og Enhedskrav

FunktionARKit VersionKrævet EnhedBeskrivelse
4K VideooptagelseARKit 6iPhone 11+, iPad Pro (5. gen)+Højopløst videooptagelse under AR-sessioner.
Dybde-APIARKit 6Enheder med LiDAR (iPad Pro 2. gen+, iPhone 12 Pro+)Per-pixel dybdeinfo for realistisk okklusion og præcise målinger.
Øjeblikkelig ARARKit 6Enheder med LiDAR (iPad Pro 2. gen+, iPhone 12 Pro+)Hurtig og øjeblikkelig placering af AR-objekter uden scanning.
BevægelsesfangstARKit 6Alle ARKit-kompatible enheder (forbedret højdeestimering på iPhone 12+)Sporer menneskelig bevægelse i realtid med et enkelt kamera.
Samtidig For- & BagkameraARKit 6Alle ARKit-kompatible enhederBruger ansigts- og verdenssporing på begge kameraer samtidigt.

Ofte Stillede Spørgsmål (FAQ)

Hvad er ARKit?

ARKit er Apples udviklerramme (framework) til opbygning af augmented reality (AR)-oplevelser til iPhone og iPad. Det giver udviklere mulighed for at skabe apps, der blander virtuelt indhold med den virkelige verden, ved at bruge enhedens kamera og bevægelsessensorer til at spore enhedens position og orientering i rummet.

Hvilke enheder understøtter ARKit?

ARKit understøttes af iPhone- og iPad-modeller med en A9-processor eller nyere. For at få adgang til de mest avancerede funktioner, såsom Dybde-API og Øjeblikkelig AR, kræves enheder udstyret med en LiDAR-scanner, som f.eks. iPhone 12 Pro, iPhone 12 Pro Max og nyere iPad Pro-modeller.

Skal jeg bruge Unity for at lave AR-apps med ARKit?

Nej, du behøver ikke Unity. Du kan også udvikle ARKit-apps direkte i Xcode ved hjælp af Swift eller Objective-C. Unity bruges ofte, fordi det giver en kraftfuld 3D-motor og et visuelt udviklingsmiljø, der forenkler processen med at skabe og placere 3D-indhold, især for spil og interaktive oplevelser.

Hvad er forskellen mellem ARKit og AR Foundation?

ARKit er Apples native AR-framework til iOS. AR Foundation er et Unity-ramme, der fungerer som en abstraktionslag oven på platformsspecifikke AR-frameworks (som ARKit for iOS og ARCore for Android). Dette betyder, at du kan skrive din AR-kode én gang i Unity ved hjælp af AR Foundation, og den vil fungere på både iOS- og Android-enheder, uden at du skal skrive separat kode for hver platform.

Hvorfor er mit AR-objekt rystende?

Rystende AR-objekter kan skyldes flere faktorer: dårlig belysning, utilstrækkelige teksturer i miljøet for ARKit at spore, hurtige bevægelser af enheden, eller manglende aktivering af miljøbelysningestimering i Unity. Sørg for at teste din app i et godt oplyst rum med tydelige, men ikke for ensartede overflader.

Hvorfor fungerer min AR-app ikke i mørke rum?

ARKit er stærkt afhængig af visuel information fra kameraet for at forstå miljøet og spore enhedens bevægelse. I mørke rum er der ikke nok visuelle "funktioner" (f.eks. kanter, farveændringer) for ARKit at spore, hvilket fører til dårlig sporing og manglende genkendelse af overflader. ARKit fungerer bedst i veloplyste omgivelser.

Hvis du vil læse andre artikler, der ligner Skab AR-magi: Din Første ARKit-App i Unity, kan du besøge kategorien Teknologi.

Go up