Az ARCore platform — a Google megoldása a kiterjesztett valóságra Androidon, amely a kamera és a telefon inerciális érzékelői segítségével követi a pozíciót a térben. A Google AR Developers, 2025 szerint a platform támogatja a Motion Tracking, Environmental Understanding és Light Estimation technológiákat — három alapvető technológiát a virtuális objektumok valós környezetbe helyezéséhez. A többplatformos architektúra lehetővé teszi a fejlesztők számára, hogy AR alkalmazásokat hozzanak létre Androidra, iOS-re, Unityre és Unreal Engine-re egységes kódbázissal.
Főbb pontok
ARCore — a Google kiterjesztett valóság platformja, amelyet 2018-ban jelentettek be a Project Tango utódjaként, könnyebb és elérhetőbb formátumban. Ellentétben a Tangóval, amely speciális mélységérzékelőket igényelt, az ARCore szabványos Android okostelefonokon működik, csak a kamerát és az inerciális érzékelőket (IMU) használva.
Az ARCore három kulcsfontosságú technológiát használ: Motion Tracking az eszköz pozíciójának követésére, Environmental Understanding a vízszintes és függőleges síkok érzékelésére és Light Estimation a virtuális objektumok megvilágításának a valós környezethez igazítására. Ez a három technológia lehetővé teszi olyan AR objektumok elhelyezését, amelyek természetesnek tűnnek bármely felületen.
A Google I/O 2024 szerint az ARCore több mint 1 milliárd Android eszközön támogatott, beleértve a Samsung, Xiaomi, Huawei, OnePlus, Google Pixel és más okostelefonokat. A platform integrálva van a Google Play Services for AR szolgáltatással, amely lehetővé teszi az ARCore frissítését a Google Play Store-on keresztül, függetlenül az Android verziójától.
Hat verzió során az ARCore jelentős fejlődésen ment keresztül: ARCore 1.0 — alapvető követés és síkfelismerés; ARCore 1.2 — függőleges síkok és Augmented Images; ARCore 1.7 — Cloud Anchors többfelhasználós munkamenetekhez; ARCore 1.10 — Augmented Faces az arckifejezések követésére.
ARCore 1.20+ tartalmazza a Scene Semantic Understanding — objektumkategóriák (padló, mennyezet, fal, bútor, növény, ajtó) felismerését TensorFlow Lite ML modell segítségével az eszközön. A Street View Geometry API lehetővé teszi a Google Street View mélységtérképeinek használatát AR navigációhoz a szabadban.
// ARCore munkamenet inicializálása
val session = Session(context)
val config = Config(session)
config.lightEstimationMode =
Config.LightEstimationMode.ENVIRONMENTAL_HDR
config.planeFindingMode =
Config.PlaneFindingMode.HORIZONTAL_AND_VERTICAL
session.configure(config)
// Képkocka feldolgozása
val frame = session.update()
val pointCloud = frame.acquirePointCloud()
val planes = session.getAllTrackables(
Plane::class.java
)
ARCore hibrid megközelítést használ: az IMU (inerciális mérőegység) nagy frekvenciával (akár 1000 Hz) előrejelzi az eszköz pozícióját, a vizuális odometria pedig 30–60 Hz frekvencián korrigálja a hibákat a kamera jellemző pontjainak elemzése alapján. Ez a megközelítés körülbelül 1–2 centiméteres követési pontosságot biztosít álló körülmények között.
Az Environmental Understanding folyamata három szakaszban működik: először az ARCore megtalálja a jellemző pontokat (feature points) a kamera képén, majd azonosítja az azonos síkon lévő pontok csoportjait és sokszöggé közelíti őket. A sík felismerése után az ARCore létrehoz egy Plane típusú Trackable objektumot, amely az új képkockák érkezésével frissül.
A Google szerint az ARCore 10x10 centiméteres síkot képes érzékelni akár 1 méter távolságból. Közepes méretű helyiségekben (20 m²-es szoba) a síkok teljes beolvasása körülbelül 2–4 másodpercet vesz igénybe. A Depth API használatakor ToF érzékelő támogatással a felismerés pontossága 40%-kal nő.
Depth API — ARCore technológia, amely a kamera képének sztereó elemzése alapján építi fel a jelenet mélységtérképét. ToF (Time-of-Flight) érzékelővel rendelkező eszközökön a mélységtérkép azonnal, akár 2 cm pontossággal érhető el. Mélységérzékelő nélküli eszközökön a Depth API gépi tanulást használ a mélység becslésére egyetlen képkockából, ami körülbelül 10 cm pontosságot biztosít.
Scene Mesh — a környezet háromdimenziós hálója, amelyet az ARCore valós időben épít fel. A hálót ütközési fizikához, virtuális objektumok eltakarásához és árnyékvetéshez használják. A Scene Mesh OpenGL ES 3.1 és Depth API támogatással rendelkező eszközökön érhető el, képkockánként akár 500 ezer sokszöget is tartalmazhat.
// Mélységtérkép lekérése
val depthImage = frame.acquireDepthImage16Bits()
// Objektum elhelyezése a felismert síkon
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()
}
}
Bár az ARCore és az ARKit ugyanazokat a feladatokat oldja meg — pozíciókövetés, síkfelismerés és megvilágítás becslése — megközelítéseik és ökoszisztémáik eltérőek. Az ARCore a többplatformosságot és kompatibilitást helyezi előtérbe, míg az ARKit mély integrációt használ az Apple hardverével.
Fő különbségek: az ARCore Androidon és iOS-en működik az ARCore SDK-n keresztül, az ARKit — csak iOS-en. Az ARCore a Cloud Anchors-t használja a Firebase-en keresztüli szinkronizáláshoz, az ARKit — az ARWorldMap-et az eszközök közötti közvetlen cseréhez. Az ARCore a Depth API-val támogatja a ToF érzékelőket, az ARKit a LiDAR-ral — lézeres letapogatást akár 3 cm pontossággal.
A Google 2024-es összehasonlító tesztjei szerint az ARCore követési pontossága giroszkóppal és ToF érzékelővel rendelkező eszközökön összehasonlítható az ARKitével LiDAR-ral felszerelt iPhone-on — a hiba 2 méteres távolságban nem haladja meg a 2 cm-t. ToF nélküli eszközökön az ARCore elmarad az ARKit-tól a inicializálási sebességben: 3 másodperc versus 0,5 másodperc.
Az ARCore és ARKit közötti választás a célközönségtől függ: ha az alkalmazás csak iOS-re készül — az ARKit jobb teljesítményt és hozzáférést biztosít az exkluzív LiDAR funkciókhoz. Ha mindkét platform támogatása szükséges — az ARCore az ARCore iOS SDK-val egységes kódbázis használatát teszi lehetővé minimális platformeltérésekkel, bár az egyes platformok bizonyos hardveres képességei elvesznek.
| Jellemző | ARCore | ARKit |
|---|---|---|
| Platform | Android + iOS + Unity/Unreal | csak iOS |
| Mélységérzékelő | ToF (opcionális) | LiDAR (Pro modellek) |
| Szinkronizálás | Cloud Anchors (Firebase) | ARWorldMap (Multipeer) |
| Arc követés | Augmented Faces | Face Tracking (TrueDepth) |
| VIO pontosság | 1–3 cm | 0,5–1 cm |
Az ARCore integráció a Google Play Services for AR függőség hozzáadásával kezdődik a build.gradle-ben: com.google.ar:core. Az alkalmazásnak ellenőriznie kell az ARCore elérhetőségét az eszközön az ArCoreApk.checkAvailability() segítségével — ha az ARCore nincs telepítve, javasolja a felhasználónak a Google Play Store-ból történő telepítést.
Az alap ARCore projekt tartalmazza: Session és Config létrehozása, SurfaceView konfigurálása a kamera megjelenítéséhez, a munkamenet elindítása session.resume()-mal és a képkockák feldolgozása session.update()-dal. A 3D objektumok megjelenítéséhez a Sceneform SDK-t (Google Filament alapú könyvtára) vagy Unity/Unreal-t használnak összetett jelenetekhez.
A Google a Sceneform-ot ajánlja Kotlin alkalmazásokhoz — kész komponenseket biztosít: ModelRenderable 3D modellek betöltéséhez (OBJ, glTF, FBX), ViewRenderable Android View AR jelenetbe ágyazásához és MotionEvent az érintések kezeléséhez. A Sceneform automatikusan kezeli az AR munkamenet életciklusát és az erőforrások felszabadítását.
Az ARCore elveszítheti a követést elégtelen megvilágítás, egységes felületek vagy az eszköz gyors mozgása esetén. A követés állapota a frame.getTrackingState()-on keresztül érhető el — TRACKING, PAUSED és STOPPED értékek. PAUSED állapotba lépéskor ajánlott szüneteltetni a megjelenítést és javaslatokat mutatni a felhasználónak: „Mozgassa lassabban az eszközt” vagy „Menjen egy világosabb helyre”.
Az automatikus helyreállításhoz hiba után az ARCore támogatja a relokalizációt a jellemző pontok elmentett térképe alapján. A fejlesztő elmentheti a térképet session.serialize()-szal és visszaállíthatja session.deserialize()-szal — ez hasznos hosszú távú AR élményekhez, ahol a felhasználó ugyanabba a fizikai térbe tér vissza. A térkép visszaállítása 1–2 másodpercet vesz igénybe, feltéve hogy a környezet nem változott jelentősen.
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()
}
}
}
}
Gyakran ismételt kérdések
Az ARCore több mint 1 milliárd Android eszközön támogatott, beleértve a Google Pixel 2+, Samsung Galaxy S7+, Xiaomi Mi 8+, Huawei P20+, OnePlus 6+, Sony Xperia XZ2+ és sok más készüléket. A tanúsított eszközök teljes listája a developers.google.com/ar/devices oldalon található.
Az ARCore alapfunkciói — Motion Tracking és Environmental Understanding — nem igényelnek internetet. A Cloud Anchors és a felhő hivatkozásokkal rendelkező Augmented Images kapcsolatot igényelnek. A Depth API és a Scene Mesh teljes mértékben az eszközön működik hálózati kapcsolat nélkül.
Igen, az ARCore használható közvetlenül OpenGL ES 3.1-gyel, Unityvel vagy Unreal Engine-nel. A Sceneform az ajánlott lehetőség egyszerű Kotlin projektekhez, de nem kötelező. Összetett 3D jelenetekhez valósághű fizikával jobb az ARCore SDK-t támogató játékmotorok használata.
ARCore megfelelő megvilágítású (100–500 lux) beltéri terekre van optimalizálva. Kültéren erős napfényben a követés pontossága csökkenhet a kamera túlvilágítása miatt. Kültéri munkához a Google a Street View Geometry API használatát ajánlja, amely mélységtérképeket biztosít városi helyszínekhez.
Scene Viewer — egy kész Google UI komponens 3D modellek AR-ban történő megtekintéséhez kódírás nélkül, WebXR-en keresztül működik. Az ARCore egy teljes értékű SDK egyedi AR élmény létrehozásához programozott vezérléssel a munkamenet, követés és megjelenítés minden aspektusa felett.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is