ARCore: mi ez, lehetőségek és a kiterjesztett valóság technológiája

Szerző: IT Sectr Megjelenés: 2026-03-25 Olvasási idő: 8 perc

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 Androidon, 2018-ban bemutatva.
  • Motion Tracking — az eszközmozgás követésének technológiája IMU és képfeldolgozás alapján.
  • Environmental Understanding — síkok, határok és felületi domborzat felismerése.
  • Cloud Anchors — AR objektumok szinkronizálásának mechanizmusa több eszköz között a felhőn keresztül.
  • ARCore SDK elérhető Androidhoz (Kotlin/Java), iOS-hez, Unityhez és Unreal Enginehez.

Mi az ARCore?

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.

Az ARCore fejlődése

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.

kotlin
// 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
)

Hogyan működik az ARCore

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 és Scene Mesh

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.

kotlin
// 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()
    }
}

ARCore és ARKit: összehasonlítás

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őARCoreARKit
PlatformAndroid + iOS + Unity/Unrealcsak iOS
MélységérzékelőToF (opcionális)LiDAR (Pro modellek)
SzinkronizálásCloud Anchors (Firebase)ARWorldMap (Multipeer)
Arc követésAugmented FacesFace Tracking (TrueDepth)
VIO pontosság1–3 cm0,5–1 cm

ARCore integrálása az alkalmazásba

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.

Követési hibák kezelése

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.

kotlin
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

Mely eszközök támogatják az ARCore-t?

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ó.

Szükséges internet az ARCore működéséhez?

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.

Létrehozhatók AR alkalmazások Sceneform 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.

Hogyan működik az ARCore beltéren és kültéren?

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.

Miben különbözik az ARCore a Scene Viewertől?

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

  • ARCore — a Google többplatformos AR platformja, amely Androidon és iOS-en működik.
  • Motion Tracking az IMU és a vizuális odometria hibridjét használja a pontos pozícionáláshoz.
  • Cloud Anchors többfelhasználós AR munkameneteket biztosít Firebase-en keresztüli szinkronizálással.
  • Depth API felépíti a jelenet mélységtérképét — programozottan vagy ToF érzékelőn keresztül.
  • Sceneform — ajánlott SDK AR alkalmazások létrehozásához Kotlinban minimális kóddal.
  • Kompatibilitás — több mint 1 milliárd Android eszköz ARCore tanúsítvánnyal.
  • Választás az ARCore és ARKit között a célplatformtól és a pontossági követelményektől függ.

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.

Projekt megbeszélése

Olvassa el is