ARCore: bu nima, imkoniyatlari va kengaytirilgan reallik texnologiyasi

Muallif: IT Sectr Nashr etilgan: 2026-03-25 O'qish vaqti: 8 daq

ARCore platformasi — Google-ning Android uchun kengaytirilgan reallik yechimi bo'lib, smartfon kamerasi va inertial sensorlaridan foydalanib fazodagi o'rinni kuzatadi. Google AR Developers, 2025 ma'lumotlariga ko'ra, platforma Motion Tracking, Environmental Understanding va Light Estimation — virtual obyektlarni real muhitda joylashtirish uchun uchta asosiy texnologiyani qo'llab-quvvatlaydi. Platformalararo arxitektura dasturchilarga Android, iOS, Unity va Unreal Engine uchun yagona kod bazasi bilan AR ilovalarini yaratish imkonini beradi.

Asosiy

  • ARCore — Google-ning Android uchun kengaytirilgan reallik platformasi, 2018-yilda taqdim etilgan.
  • Motion Tracking — IMU va tasvir tahliliga asoslangan qurilma harakatini kuzatish texnologiyasi.
  • Environmental Understanding — tekisliklar, chegaralar va sirt relyefini aniqlash.
  • Cloud Anchors — AR obyektlarini bulut orqali bir nechta qurilma o'rtasida sinxronlash mexanizmi.
  • ARCore SDK Android (Kotlin/Java), iOS, Unity va Unreal Engine uchun mavjud.

ARCore nima?

ARCore — bu Google-ning 2018-yilda Project Tango-ning engil va qulayroq formatdagi vorisi sifatida e'lon qilingan kengaytirilgan reallik platformasi. Maxsus chuqurlik sensorlarini talab qilgan Tango-dan farqli o'laroq, ARCore standart Android smartfonlarida faqat kamera va inertial sensorlardan (IMU) foydalanib ishlaydi.

ARCore uchta asosiy texnologiyadan foydalanadi: qurilma o'rnini kuzatish uchun Motion Tracking, gorizontal va vertikal tekisliklarni aniqlash uchun Environmental Understanding va virtual obyektlarning yoritilishini real muhitga moslashtirish uchun Light Estimation. Ushbu uch texnologiya istalgan sirtda tabiiy ko'rinadigan AR obyektlarini joylashtirish imkonini beradi.

Google I/O 2024 ma'lumotlariga ko'ra, ARCore Samsung, Xiaomi, Huawei, OnePlus, Google Pixel va boshqa smartfonlarni o'z ichiga olgan 1 milliarddan ortiq Android qurilmalarida qo'llab-quvvatlanadi. Platforma Google Play Services for AR bilan integratsiyalangan bo'lib, bu ARCore-ni Android versiyasidan qat'iy nazar Google Play Store orqali yangilash imkonini beradi.

ARCore evolyutsiyasi

Olti versiya davomida ARCore sezilarli evolyutsiyani boshdan kechirdi: ARCore 1.0 — asosiy kuzatish va tekisliklarni aniqlash; ARCore 1.2 — vertikal tekisliklar va Augmented Images; ARCore 1.7 — ko'p foydalanuvchili sessiyalar uchun Cloud Anchors; ARCore 1.10 — yuz ifodalarini kuzatish uchun Augmented Faces.

ARCore 1.20+ qurilmada TensorFlow Lite ML modeli orqali obyekt toifalarini (pol, shift, devor, mebel, o'simlik, eshik) aniqlash — Scene Semantic Understanding-ni o'z ichiga oladi. Street View Geometry API ochiq havoda AR navigatsiyasi uchun Google Street View chuqurlik xaritalaridan foydalanish imkonini beradi.

kotlin
// ARCore sessiyasini ishga tushirish
val session = Session(context)
val config = Config(session)
config.lightEstimationMode =
    Config.LightEstimationMode.ENVIRONMENTAL_HDR
config.planeFindingMode =
    Config.PlaneFindingMode.HORIZONTAL_AND_VERTICAL
session.configure(config)

// Kadrni qayta ishlash
val frame = session.update()
val pointCloud = frame.acquirePointCloud()
val planes = session.getAllTrackables(
    Plane::class.java
)

ARCore qanday ishlaydi

ARCore gibrid yondashuvdan foydalanadi: IMU (inertial o'lchov moduli) qurilmaning o'rnini yuqori chastotada (1000 Hz gacha) bashorat qiladi, vizual odometriya esa kameradan xarakterli nuqtalar tahlili asosida 30–60 Hz chastotada xatolarni tuzatadi. Bu yondashuv statsionar sharoitda taxminan 1–2 santimetr aniqlikni ta'minlaydi.

Environmental Understanding jarayoni uch bosqichda ishlaydi: avval ARCore kamera tasvirida xarakterli nuqtalarni (feature points) topadi, so'ngra bir tekislikda yotgan nuqtalar to'plamini aniqlaydi va ularni ko'pburchakka yaqinlashtiradi. Tekislik aniqlangandan so'ng, ARCore yangi kadrlar kelishi bilan yangilanadigan Plane tipidagi Trackable obyektini yaratadi.

Google ma'lumotlariga ko'ra, ARCore kameradan 1 metr masofada 10x10 santimetr o'lchamdagi tekislikni aniqlaydi. O'rtacha xonalar (20 m² xona) uchun tekisliklarni to'liq skanerlash taxminan 2–4 soniya davom etadi. ToF sensori qo'llab-quvvatlashi bilan Depth API dan foydalanilganda aniqlash aniqligi 40% ga oshadi.

Depth API va Scene Mesh

Depth API — kamera tasvirining stereo tahlili asosida sahna chuqurlik xaritasini quradigan ARCore texnologiyasi. ToF (Time-of-Flight) sensorli qurilmalarda chuqurlik xaritasi 2 sm aniqlik bilan bir zumda olinadi. Chuqurlik sensorsiz qurilmalarda Depth API bitta kadrdan chuqurlikni baholash uchun mashinali o'rganishdan foydalanadi, bu taxminan 10 sm aniqlik beradi.

Scene Mesh — ARCore real vaqtda quradigan uch o'lchamli atrof-muhit tarmog'i. Tarmoq to'qnashuv fizikasi, virtual obyektlarning okklyuziyasi va soyalarni qo'llash uchun ishlatiladi. Scene Mesh OpenGL ES 3.1 va Depth API qo'llab-quvvatlovchi qurilmalarda mavjud bo'lib, kadrda 500 minggacha ko'pburchakni o'z ichiga oladi.

kotlin
// Chuqurlik xaritasini olish
val depthImage = frame.acquireDepthImage16Bits()

// Obyektni aniqlangan tekislikka joylashtirish
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 va ARKit: taqqoslash

Garchi ARCore va ARKit bir xil vazifalarni — o'rin kuzatish, tekisliklarni aniqlash va yoritishni baholashni hal qilsa-da, ularning yondashuvlari va ekotizimlari farq qiladi. ARCore platformalararo va moslikka ustunlik beradi, ARKit esa Apple apparat bilan chuqur integratsiyadan foydalanadi.

Asosiy farqlar: ARCore Android va iOS-da ARCore SDK orqali ishlaydi, ARKit — faqat iOS-da. ARCore Firebase orqali sinxronlash uchun Cloud Anchors-dan foydalanadi, ARKit — qurilmalar o'rtasida to'g'ridan-to'g'ri almashish uchun ARWorldMap-dan. Depth API bilan ARCore ToF sensorlarini, LiDAR bilan ARKit esa 3 sm aniqlikdagi lazer skanerlashni qo'llab-quvvatlaydi.

Google 2024 taqqoslash testlariga ko'ra, giroskop va ToF sensorli qurilmalarda ARCore kuzatish aniqligi LiDAR-li iPhone-dagi ARKit bilan solishtirish mumkin — 2 metr masofada xato 2 sm dan oshmaydi. ToF-siz qurilmalarda ARCore ishga tushirish tezligi bo'yicha ARKit-dan orqada: 3 soniyaga qarshi 0.5 soniya.

ARCore va ARKit o'rtasidagi tanlov maqsadli auditoriyaga bog'liq: agar ilova faqat iOS uchun mo'ljallangan bo'lsa — ARKit yaxshi ishlash va LiDAR-ning eksklyuziv funksiyalariga kirishni ta'minlaydi. Agar ikkala platformani qo'llab-quvvatlash kerak bo'lsa — ARCore ARCore iOS SDK bilan minimal platforma farqlari bilan yagona kod bazasidan foydalanish imkonini beradi, garchi har bir platformaning ba'zi apparat imkoniyatlari yo'qolsa ham.

XususiyatARCoreARKit
PlatformaAndroid + iOS + Unity/Unrealfaqat iOS
Chuqurlik sensoriToF (ixtiyoriy)LiDAR (Pro modellar)
SinxronlashCloud Anchors (Firebase)ARWorldMap (Multipeer)
Yuz kuzatishAugmented FacesFace Tracking (TrueDepth)
VIO aniqligi1–3 sm0,5–1 sm

ARCore-ni ilovaga integratsiya qilish

ARCore integratsiyasi build.gradle-ga Google Play Services for AR bog'liqligini qo'shish bilan boshlanadi: com.google.ar:core. Ilova ArCoreApk.checkAvailability() orqali qurilmada ARCore mavjudligini tekshirishi kerak — agar ARCore o'rnatilmagan bo'lsa, foydalanuvchiga Google Play Store-dan o'rnatishni taklif qilish kerak.

Asosiy ARCore loyihasi o'z ichiga oladi: Session va Config yaratish, kamerani ko'rsatish uchun SurfaceView-ni sozlash, session.resume() orqali sessiyani boshlash va session.update() orqali kadrlarni qayta ishlash. 3D obyektlarni render qilish uchun Sceneform SDK (Google-ning Filament-ga asoslangan kutubxonasi) yoki murakkab sahnalar uchun Unity/Unreal ishlatiladi.

Google Kotlin ilovalari uchun Sceneform-ni tavsiya qiladi — u tayyor komponentlarni ta'minlaydi: 3D modellarni yuklash uchun ModelRenderable (OBJ, glTF, FBX), AR sahnasiga Android View-ni joylashtirish uchun ViewRenderable va teginishlarni boshqarish uchun MotionEvent. Sceneform AR sessiyasining hayotiy tsiklini va resurslarni bo'shatishni avtomatik boshqaradi.

Kuzatish xatolarini boshqarish

ARCore yorug'lik yetarli bo'lmaganda, bir xil rangdagi sirtlarda yoki qurilmaning tez harakatlarida kuzatishni yo'qotishi mumkin. Kuzatish holati frame.getTrackingState() orqali mavjud — TRACKING, PAUSED va STOPPED qiymatlari. PAUSED holatiga o'tganda renderni to'xtatish va foydalanuvchiga „Qurilmani sekinroq harakatlantiring” yoki „Yorug'roq joyga o'ting” kabi tavsiyalarni ko'rsatish tavsiya etiladi.

Xatodan keyin avtomatik tiklanish uchun ARCore saqlangan xarakterli nuqtalar xaritasi asosida relokalizatsiyani qo'llab-quvvatlaydi. Dasturchi xaritani session.serialize() orqali saqlab, session.deserialize() orqali tiklashi mumkin — bu foydalanuvchi bir xil fizik fazoga qaytadigan uzoq muddatli AR tajribasi uchun foydali. Xaritani tiklash atrof-muhit sezilarli darajada o'zgarmagan bo'lsa, 1–2 soniya davom etadi.

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

Ko'p beriladigan savollar

Qaysi qurilmalar ARCore-ni qo'llab-quvvatlaydi?

ARCore Google Pixel 2+, Samsung Galaxy S7+, Xiaomi Mi 8+, Huawei P20+, OnePlus 6+, Sony Xperia XZ2+ va boshqa ko'plab qurilmalarni o'z ichiga olgan 1 milliarddan ortiq Android qurilmasida qo'llab-quvvatlanadi. Sertifikatlangan qurilmalarning to'liq ro'yxati developers.google.com/ar/devices saytida e'lon qilingan.

ARCore ishlashi uchun internet kerakmi?

ARCore-ning asosiy funksiyalari — Motion Tracking va Environmental Understanding — internetni talab qilmaydi. Cloud Anchors va bulutli havolalari bo'lgan Augmented Images ulanishni talab qiladi. Depth API va Scene Mesh tarmoqqa ulanishsiz to'liq qurilmada ishlaydi.

Sceneformsiz AR ilovalarini yaratish mumkinmi?

Ha, ARCore to'g'ridan-to'g'ri OpenGL ES 3.1 bilan, Unity yoki Unreal Engine bilan ishlatilishi mumkin. Sceneform Kotlin-dagi oddiy loyihalar uchun tavsiya etilgan variant, lekin majburiy emas. Realistik fizikaga ega murakkab 3D sahnalar uchun ARCore SDK qo'llab-quvvatlovchi o'yin dvigatellaridan foydalanish yaxshiroqdir.

ARCore yopiq va ochiq joylarda qanday ishlaydi?

ARCore yetarli yorug'likka ega yopiq joylar uchun optimallashtirilgan (100–500 lyuks). Ochiq havoda quyosh ostida kameraning haddan tashqari yoritilishi tufayli kuzatish aniqligi pasayishi mumkin. Ochiq havoda ishlash uchun Google shahar joylari uchun chuqurlik xaritalarini taqdim etadigan Street View Geometry API-dan foydalanishni tavsiya qiladi.

ARCore Scene Viewer-dan nimasi bilan farq qiladi?

Scene Viewer — bu WebXR orqali ishlaydigan, kod yozmasdan AR-da 3D modellarni ko'rish uchun tayyor Google UI komponenti. ARCore — sessiya, kuzatish va renderingning barcha jihatlari ustidan dasturiy nazorat bilan maxsus AR tajribasini yaratish uchun to'liq huquqli SDK.

Xulosa

  • ARCore — Google-ning Android va iOS-da ishlaydigan platformalararo AR platformasi.
  • Motion Tracking aniq joylashishni aniqlash uchun IMU va vizual odometriya gibrididan foydalanadi.
  • Cloud Anchors Firebase orqali sinxronlash bilan ko'p foydalanuvchili AR sessiyalarini ta'minlaydi.
  • Depth API sahna chuqurlik xaritasini quradi — dasturiy yoki ToF sensori orqali.
  • Sceneform — Kotlin-da minimal kod bilan AR ilovalarini yaratish uchun tavsiya etilgan SDK.
  • Moslik — ARCore sertifikati bilan 1 milliarddan ortiq Android qurilmalari.
  • Tanlov ARCore va ARKit o'rtasida maqsadli platforma va aniqlik talablariga bog'liq.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing