Het ARCore-platform — Google’s oplossing voor augmented reality op Android, die de camera en traagheidssensoren van de smartphone gebruikt om de positie in de ruimte te volgen. Volgens Google AR Developers, 2025 ondersteunt het platform Motion Tracking, Environmental Understanding en Light Estimation — drie basistechnologieën voor het plaatsen van virtuele objecten in een echte omgeving. Cross-platform architectuur stelt ontwikkelaars in staat om AR-applicaties te maken voor Android, iOS, Unity en Unreal Engine met één codebase.
Belangrijkste
ARCore — is het augmented reality-platform van Google, aangekondigd in 2018 als opvolger van Project Tango in een lichter en toegankelijker formaat. In tegenstelling tot Tango, dat gespecialiseerde dieptesensoren nodig had, werkt ARCore op standaard Android-smartphones met alleen de camera en traagheidssensoren (IMU).
ARCore maakt gebruik van drie sleuteltechnologieën: Motion Tracking voor het volgen van de apparaatpositie, Environmental Understanding voor het detecteren van horizontale en verticale vlakken en Light Estimation voor het aanpassen van de belichting van virtuele objecten aan de echte omgeving. Deze drie technologieën maken het mogelijk om AR-objecten te plaatsen die er natuurlijk uitzien op elk oppervlak.
Volgens Google I/O 2024 wordt ARCore ondersteund op meer dan 1 miljard Android-apparaten, waaronder Samsung, Xiaomi, Huawei, OnePlus, Google Pixel en andere smartphones. Het platform is geïntegreerd met Google Play Services for AR, waardoor ARCore via Google Play Store kan worden bijgewerkt, onafhankelijk van de Android-versie.
In zes versies heeft ARCore een aanzienlijke evolutie doorgemaakt: ARCore 1.0 — basis tracking en vlakherkenning; ARCore 1.2 — verticale vlakken en Augmented Images; ARCore 1.7 — Cloud Anchors voor multi-user sessies; ARCore 1.10 — Augmented Faces voor het volgen van gezichtsuitdrukkingen.
ARCore 1.20+ bevat Scene Semantic Understanding — herkenning van objectcategorieën (vloer, plafond, muur, meubels, plant, deur) via een TensorFlow Lite ML-model op het apparaat. Street View Geometry API maakt gebruik van Google Street View dieptekaarten voor AR-navigatie buitenshuis.
// ARCore-sessie initialiseren
val session = Session(context)
val config = Config(session)
config.lightEstimationMode =
Config.LightEstimationMode.ENVIRONMENTAL_HDR
config.planeFindingMode =
Config.PlaneFindingMode.HORIZONTAL_AND_VERTICAL
session.configure(config)
// Frame verwerken
val frame = session.update()
val pointCloud = frame.acquirePointCloud()
val planes = session.getAllTrackables(
Plane::class.java
)
ARCore gebruikt een hybride benadering: IMU (inertial measurement unit) voorspelt de apparaatpositie met hoge frequentie (tot 1000 Hz), en visuele odometrie corrigeert fouten op basis van analyse van kenmerkende punten van de camera met een frequentie van 30–60 Hz. Deze benadering zorgt voor een trackingnauwkeurigheid van ongeveer 1–2 centimeter in stationaire omstandigheden.
Het Environmental Understanding-proces werkt in drie fasen: eerst vindt ARCore kenmerkende punten (feature points) in het camerabeeld, vervolgens identificeert het clusters van punten die op één vlak liggen en benadert ze tot een polygoon. Na herkenning van het vlak maakt ARCore een Trackable-object van het type Plane, dat wordt bijgewerkt naarmate er nieuwe frames binnenkomen.
Volgens Google detecteert ARCore een vlak van 10x10 centimeter op een afstand van maximaal 1 meter van de camera. Voor middelgrote ruimtes (kamer van 20 m²) duurt volledige scanning van vlakken ongeveer 2–4 seconden. Bij gebruik van Depth API met ondersteuning voor ToF-sensor neemt de herkenningsnauwkeurigheid toe met 40%.
Depth API — ARCore-technologie die een dieptekaart van de scène bouwt op basis van stereo-analyse van het camerabeeld. Op apparaten met een ToF-sensor (Time-of-Flight) wordt de dieptekaart direct verkregen met een nauwkeurigheid tot 2 cm. Op apparaten zonder dieptesensor gebruikt Depth API machine learning om diepte te schatten uit één frame, wat een nauwkeurigheid van ongeveer 10 cm oplevert.
Scene Mesh — een driedimensionaal netwerk van de omgeving dat ARCore in realtime bouwt. Het netwerk wordt gebruikt voor botsingsfysica, occlusie van virtuele objecten en het aanbrengen van schaduwen. Scene Mesh is beschikbaar op apparaten met OpenGL ES 3.1 en Depth API-ondersteuning en omvat tot 500 duizend polygonen per frame.
// Dieptekaart ophalen
val depthImage = frame.acquireDepthImage16Bits()
// Object op herkend vlak plaatsen
val hitResult = frame.hitTest(x, y)
.firstOrNull { it.trackable is Plane }
hitResult?.let { result ->
val anchor = session.createAnchor(
result.hitPose
)
val model = ModelRenderable.builder()
.setSourceId(R.raw.my_model)
.build()
.exceptionally { null }
AnchorNode(anchor).apply {
this.renderable = model.get()
}
}
Hoewel ARCore en ARKit dezelfde taken oplossen — positietracking, vlakherkenning en lichtmeting — verschillen hun benaderingen en ecosystemen. ARCore geeft prioriteit aan cross-platform en compatibiliteit, terwijl ARKit diepe integratie met Apple-hardware gebruikt.
Belangrijkste verschillen: ARCore werkt op Android en iOS via ARCore SDK, ARKit — alleen op iOS. ARCore gebruikt Cloud Anchors voor synchronisatie via Firebase, ARKit — ARWorldMap voor directe uitwisseling tussen apparaten. ARCore met Depth API ondersteunt ToF-sensoren, ARKit met LiDAR — laserscanning met een nauwkeurigheid tot 3 cm.
Volgens vergelijkende tests van Google 2024 is de trackingnauwkeurigheid van ARCore op apparaten met gyroscoop en ToF-sensor vergelijkbaar met ARKit op iPhone met LiDAR — de fout overschrijdt 2 cm niet op een afstand van 2 meter. Op apparaten zonder ToF presteert ARCore slechter dan ARKit wat betreft initialisatiesnelheid: 3 seconden versus 0,5 seconde.
De keuze tussen ARCore en ARKit hangt af van de doelgroep: als de app alleen voor iOS is bestemd, biedt ARKit betere prestaties en toegang tot exclusieve LiDAR-functies. Als ondersteuning voor beide platforms nodig is, maakt ARCore met ARCore iOS SDK het mogelijk om een uniforme codebase te gebruiken met minimale platformverschillen, zij het met verlies van enkele hardwaremogelijkheden van elk platform.
| Kenmerk | ARCore | ARKit |
|---|---|---|
| Platform | Android + iOS + Unity/Unreal | alleen iOS |
| Dieptesensor | ToF (optioneel) | LiDAR (Pro-modellen) |
| Synchronisatie | Cloud Anchors (Firebase) | ARWorldMap (Multipeer) |
| Gezichtstracking | Augmented Faces | Face Tracking (TrueDepth) |
| VIO-nauwkeurigheid | 1–3 cm | 0,5–1 cm |
ARCore-integratie begint met het toevoegen van de afhankelijkheid Google Play Services for AR in build.gradle: com.google.ar:core. De app moet de beschikbaarheid van ARCore op het apparaat controleren via ArCoreApk.checkAvailability() — als ARCore niet is geïnstalleerd, moet de gebruiker worden gevraagd het te installeren vanuit Google Play Store.
Een basis ARCore-project omvat: het maken van een Session en Config, het configureren van SurfaceView voor cameraweergave, het starten van de sessie via session.resume() en het verwerken van frames via session.update(). Voor het renderen van 3D-objecten wordt Sceneform SDK (Google’s bibliotheek op basis van Filament) of Unity/Unreal voor complexe scènes gebruikt.
Google beveelt Sceneform aan voor Kotlin-apps — het bied kant-en-klare componenten: ModelRenderable voor het laden van 3D-modellen (OBJ, glTF, FBX), ViewRenderable voor het inbedden van Android View in een AR-scène en MotionEvent voor het afhandelen van aanrakingen. Sceneform beheert automatisch de levenscyclus van de AR-sessie en het vrijgeven van bronnen.
ARCore kan tracking verliezen bij onvoldoende verlichting, effen oppervlakken of snelle bewegingen van het apparaat. De trackingstatus is beschikbaar via frame.getTrackingState() — waarden TRACKING, PAUSED en STOPPED. Bij overgang naar PAUSED wordt aanbevolen om het renderen te pauzeren en de gebruiker aanbevelingen te tonen: „Beweeg het apparaat langzamer” of „Ga naar een beter verlichte plek”.
Voor automatisch herstel na een fout ondersteunt ARCore relokalisatie op basis van een opgeslagen kaart van kenmerkende punten. De ontwikkelaar kan de kaart opslaan via session.serialize() en herstellen via session.deserialize() — dit is handig voor langdurige AR-ervaringen waarbij de gebruiker terugkeert naar dezelfde fysieke ruimte. Het herstellen van de kaart duurt 1–2 seconden, op voorwaarde dat de omgeving niet significant is veranderd.
class ARCoreActivity : AppCompatActivity() {
private lateinit var session: Session
override fun onResume() {
super.onResume()
when (ArCoreApk.getInstance()
.checkAvailability(this)
) {
ArCoreApk.Availability.SUPPORTED_INSTALLED -> {
session = Session(this)
session.resume()
}
else -> {
showInstallPrompt()
}
}
}
}
Veelgestelde vragen
ARCore wordt ondersteund op meer dan 1 miljard Android-apparaten, waaronder Google Pixel 2+, Samsung Galaxy S7+, Xiaomi Mi 8+, Huawei P20+, OnePlus 6+, Sony Xperia XZ2+ en vele andere. De volledige lijst van gecertificeerde apparaten is gepubliceerd op developers.google.com/ar/devices.
De basisfuncties van ARCore — Motion Tracking en Environmental Understanding — hebben geen internet nodig. Cloud Anchors en Augmented Images met cloudlinks vereisen een verbinding. Depth API en Scene Mesh werken volledig op het apparaat zonder netwerkverbinding.
Ja, ARCore kan direct worden gebruikt met OpenGL ES 3.1, met Unity of Unreal Engine. Sceneform is de aanbevolen optie voor eenvoudige projecten in Kotlin, maar is niet verplicht. Voor complexe 3D-scènes met realistische fysica kunt u beter game-engines met ARCore SDK-ondersteuning gebruiken.
ARCore is geoptimaliseerd voor binnenruimtes met voldoende verlichting (100–500 lux). Buiten in fel zonlicht kan de trackingnauwkeurigheid afnemen door overbelichting van de camera. Voor buitengebruik beveelt Google het gebruik van Street View Geometry API aan, die dieptekaarten biedt voor stedelijke locaties.
Scene Viewer — is een kant-en-klare Google UI-component voor het bekijken van 3D-modellen in AR zonder code te schrijven, werkend via WebXR. ARCore is een volwaardige SDK voor het maken van aangepaste AR-ervaringen met programmatische controle over alle aspecten van sessie, tracking en rendering.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook