ARCore: ce este, posibilități și tehnologia realității augmentate

Autor: IT Sectr Publicat: 2026-03-25 Timp de citire: 8 min

Platforma ARCore — soluția Google pentru realitatea augmentată pe Android, care utilizează camera și senzorii inerțiali ai smartphone-ului pentru urmărirea poziției în spațiu. Conform Google AR Developers, 2025, platforma suportă Motion Tracking, Environmental Understanding și Light Estimation — trei tehnologii de bază pentru plasarea obiectelor virtuale în mediul real. Arhitectura cross-platform permite dezvoltatorilor să creeze aplicații AR pentru Android, iOS, Unity și Unreal Engine cu o bază de cod unică.

Principalele

  • ARCore — platforma Google pentru realitatea augmentată pe Android, lansată în 2018.
  • Motion Tracking — tehnologia de urmărire a mișcării dispozitivului bazată pe IMU și analiza imaginii.
  • Environmental Understanding — recunoașterea planurilor, granițelor și reliefului suprafețelor.
  • Cloud Anchors — mecanismul de sincronizare a obiectelor AR între mai multe dispozitive prin cloud.
  • ARCore SDK disponibil pentru Android (Kotlin/Java), iOS, Unity și Unreal Engine.

Ce este ARCore?

ARCore — este platforma de realitate augmentată de la Google, anunțată în 2018 ca succesor al Project Tango într-un format mai ușor și mai accesibil. Spre deosebire de Tango, care necesita senzori de adâncime specializați, ARCore funcționează pe smartphone-uri Android standard, folosind doar camera și senzorii inerțiali (IMU).

ARCore utilizează trei tehnologii cheie: Motion Tracking pentru urmărirea poziției dispozitivului, Environmental Understanding pentru detectarea planurilor orizontale și verticale și Light Estimation pentru ajustarea iluminării obiectelor virtuale la mediul real. Aceste trei tehnologii permit plasarea obiectelor AR care arată natural pe orice suprafață.

Conform Google I/O 2024, ARCore este suportat pe peste 1 miliard de dispozitive Android, inclusiv smartphone-uri Samsung, Xiaomi, Huawei, OnePlus, Google Pixel și altele. Platforma este integrată cu Google Play Services for AR, ceea ce permite actualizarea ARCore prin Google Play Store independent de versiunea Android.

Evoluția ARCore

De-a lungul a șase versiuni, ARCore a trecut printr-o evoluție semnificativă: ARCore 1.0 — urmărire de bază și recunoaștere a planurilor; ARCore 1.2 — planuri verticale și Augmented Images; ARCore 1.7 — Cloud Anchors pentru sesiuni multi-utilizator; ARCore 1.10 — Augmented Faces pentru urmărirea expresiilor faciale.

ARCore 1.20+ include Scene Semantic Understanding — recunoașterea categoriilor de obiecte (podea, tavan, perete, mobilă, plantă, ușă) prin modelul ML TensorFlow Lite pe dispozitiv. Street View Geometry API permite utilizarea hărților de adâncime Google Street View pentru navigația AR în aer liber.

kotlin
// Inițializarea sesiunii ARCore
val session = Session(context)
val config = Config(session)
config.lightEstimationMode =
    Config.LightEstimationMode.ENVIRONMENTAL_HDR
config.planeFindingMode =
    Config.PlaneFindingMode.HORIZONTAL_AND_VERTICAL
session.configure(config)

// Procesarea cadrului
val frame = session.update()
val pointCloud = frame.acquirePointCloud()
val planes = session.getAllTrackables(
    Plane::class.java
)

Cum funcționează ARCore

ARCore utilizează o abordare hibridă: IMU (modulul de măsurare inerțial) prezice poziția dispozitivului cu frecvență înaltă (până la 1000 Hz), iar odometria vizuală corectează erorile pe baza analizei punctelor caracteristice din cameră cu frecvența de 30–60 Hz. Această abordare asigură o precizie de urmărire de aproximativ 1–2 centimetri în condiții staționare.

Procesul Environmental Understanding funcționează în trei etape: mai întâi ARCore găsește puncte caracteristice (feature points) în imaginea camerei, apoi identifică grupuri de puncte situate pe același plan și le aproximează într-un poligon. După recunoașterea planului, ARCore creează un obiect Trackable de tip Plane, care este actualizat pe măsură ce sosesc noi cadre.

Conform Google, ARCore determină un plan de dimensiunea 10x10 centimetri la distanța de până la 1 metru de cameră. Pentru încăperi medii (cameră de 20 m²) scanarea completă a planurilor durează aproximativ 2–4 secunde. La utilizarea Depth API cu suport pentru senzorul ToF, precizia recunoașterii crește cu 40%.

Depth API și Scene Mesh

Depth API — tehnologie ARCore care construiește harta de adâncime a scenei pe baza analizei stereo a imaginii camerei. Pe dispozitivele cu senzor ToF (Time-of-Flight) harta de adâncime este obținută instantaneu cu o precizie de până la 2 cm. Pe dispozitivele fără senzor de adâncime, Depth API utilizează învățarea automată pentru a estima adâncimea dintr-un singur cadru, oferind o precizie de aproximativ 10 cm.

Scene Mesh — rețeaua tridimensională a mediului pe care ARCore o construiește în timp real. Rețeaua este utilizată pentru fizica coliziunilor, ocluzia obiectelor virtuale și aplicarea umbrelor. Scene Mesh este disponibil pe dispozitivele cu OpenGL ES 3.1 și suport Depth API, incluzând până la 500 de mii de poligoane per cadru.

kotlin
// Obținerea hărții de adâncime
val depthImage = frame.acquireDepthImage16Bits()

// Plasarea obiectului pe planul recunoscut
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 și ARKit: comparație

Deși ARCore și ARKit rezolvă aceleași sarcini — urmărirea poziției, recunoașterea planurilor și evaluarea iluminării — abordările și ecosistemele lor diferă. ARCore pune accent pe cross-platform și compatibilitate, în timp ce ARKit utilizează integrarea profundă cu hardware-ul Apple.

Diferențe cheie: ARCore funcționează pe Android și iOS prin ARCore SDK, ARKit — doar pe iOS. ARCore folosește Cloud Anchors pentru sincronizare prin Firebase, ARKit — ARWorldMap pentru schimb direct între dispozitive. ARCore cu Depth API suportă senzori ToF, ARKit cu LiDAR — scanare laser cu precizie de până la 3 cm.

Conform testelor comparative Google 2024, precizia de urmărire a ARCore pe dispozitive cu giroscop și senzor ToF este comparabilă cu ARKit pe iPhone cu LiDAR — eroarea nu depășește 2 cm la distanța de 2 metri. Pe dispozitivele fără ToF, ARCore este inferior ARKit în ceea ce privește viteza de inițializare: 3 secunde față de 0.5 secunde.

Alegerea între ARCore și ARKit depinde de publicul țintă: dacă aplicația este destinată doar iOS — ARKit oferă performanță mai bună și acces la funcțiile exclusive LiDAR. Dacă este necesar suportul ambelor platforme — ARCore cu ARCore iOS SDK permite utilizarea unei baze de cod unice cu diferențe minime de platformă, deși cu pierderea unor capacități hardware ale fiecărei platforme.

CaracteristicăARCoreARKit
PlatformăAndroid + iOS + Unity/Unrealdoar iOS
Senzor de adâncimeToF (opțional)LiDAR (modele Pro)
SincronizareCloud Anchors (Firebase)ARWorldMap (Multipeer)
Urmărire facialăAugmented FacesFace Tracking (TrueDepth)
Precizie VIO1–3 cm0.5–1 cm

Integrarea ARCore în aplicație

Integrarea ARCore începe cu adăugarea dependenței Google Play Services for AR în build.gradle: com.google.ar:core. Aplicația trebuie să verifice disponibilitatea ARCore pe dispozitiv prin ArCoreApk.checkAvailability() — dacă ARCore nu este instalat, să propună utilizatorului instalarea din Google Play Store.

Proiectul de bază ARCore include: crearea Session și Config, configurarea SurfaceView pentru afișarea camerei, pornirea sesiunii prin session.resume() și procesarea cadrelor prin session.update(). Pentru randarea obiectelor 3D se utilizează Sceneform SDK (biblioteca Google bazată pe Filament) sau Unity/Unreal pentru scene complexe.

Google recomandă Sceneform pentru aplicații Kotlin — oferă componente gata făcute: ModelRenderable pentru încărcarea modelelor 3D (OBJ, glTF, FBX), ViewRenderable pentru încorporarea vizualizării Android în scena AR și MotionEvent pentru gestionarea atingerilor. Sceneform gestionează automat ciclul de viață al sesiunii AR și eliberarea resurselor.

Gestionarea erorilor de urmărire

ARCore poate pierde urmărirea la iluminare insuficientă, suprafețe uniforme sau mișcări rapide ale dispozitivului. Starea de urmărire este disponibilă prin frame.getTrackingState() — valorile TRACKING, PAUSED și STOPPED. La trecerea în PAUSED se recomandă întreruperea randării și afișarea recomandărilor pentru utilizator: „Mișcați dispozitivul mai încet” sau „Mergeți într-un loc mai luminos”.

Pentru recuperarea automată după eroare, ARCore suportă relocalizarea pe baza hărții salvate de puncte caracteristice. Dezvoltatorul poate salva harta prin session.serialize() și o poate restaura prin session.deserialize() — aceasta este utilă pentru experiențe AR de lungă durată în care utilizatorul revine în același spațiu fizic. Restaurarea hărții durează 1–2 secunde, cu condiția ca mediul să nu se fi schimbat semnificativ.

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

Întrebări frecvente

Ce dispozitive suportă ARCore?

ARCore este suportat pe peste 1 miliard de dispozitive Android, inclusiv Google Pixel 2+, Samsung Galaxy S7+, Xiaomi Mi 8+, Huawei P20+, OnePlus 6+, Sony Xperia XZ2+ și multe altele. Lista completă a dispozitivelor certificate este publicată pe site-ul developers.google.com/ar/devices.

Este necesar internetul pentru funcționarea ARCore?

Funcțiile de bază ARCore — Motion Tracking și Environmental Understanding — nu necesită internet. Cloud Anchors și Augmented Images cu linkuri în cloud necesită conexiune. Depth API și Scene Mesh funcționează complet pe dispozitiv fără conexiune la rețea.

Se pot crea aplicații AR fără Sceneform?

Da, ARCore poate fi utilizat direct cu OpenGL ES 3.1, cu Unity sau Unreal Engine. Sceneform este opțiunea recomandată pentru proiecte simple în Kotlin, dar nu este obligatoriu. Pentru scene 3D complexe cu fizică realistă este mai bine să utilizați motoare de jocuri cu suport ARCore SDK.

Cum funcționează ARCore în interior și în exterior?

ARCore este optimizat pentru spații interioare cu iluminare suficientă (100–500 lucși). În exterior, la soare puternic, precizia de urmărire poate scădea din cauza supraexpunerii camerei. Pentru lucrul în exterior, Google recomandă utilizarea Street View Geometry API, care oferă hărți de adâncime pentru locații urbane.

Cu ce se diferențiază ARCore de Scene Viewer?

Scene Viewer — este o componentă UI gata făcută Google pentru vizualizarea modelelor 3D în AR fără a scrie cod, care funcționează prin WebXR. ARCore este un SDK complet pentru crearea de experiențe AR personalizate cu control programatic asupra tuturor aspectelor sesiunii, urmăririi și randării.

Rezumat

  • ARCore — platforma AR cross-platform de la Google, care funcționează pe Android și iOS.
  • Motion Tracking utilizează un hibrid de IMU și odometrie vizuală pentru poziționare precisă.
  • Cloud Anchors asigură sesiuni AR multi-utilizator cu sincronizare prin Firebase.
  • Depth API construiește harta de adâncime a scenei — programatic sau prin senzorul ToF.
  • Sceneform — SDK-ul recomandat pentru crearea aplicațiilor AR în Kotlin cu cod minim.
  • Compatibilitate — peste 1 miliard de dispozitive Android cu certificare ARCore.
  • Alegerea între ARCore și ARKit depinde de platforma țintă și cerințele de precizie.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și