ARCore: ano ito, mga kakayahan at teknolohiya ng augmented reality

May-akda: IT Sectr Nai-publish: 2026-03-25 Oras ng pagbabasa: 8 min

Ang platform na ARCore — solusyon ng Google para sa augmented reality sa Android, na gumagamit ng camera at inertial sensors ng smartphone para subaybayan ang posisyon sa espasyo. Ayon sa Google AR Developers, 2025, sinusuportahan ng platform ang Motion Tracking, Environmental Understanding at Light Estimation — tatlong pangunahing teknolohiya para sa paglalagay ng mga virtual na bagay sa totoong kapaligiran. Cross-platform na arkitektura ay nagbibigay-daan sa mga developer na lumikha ng AR application para sa Android, iOS, Unity at Unreal Engine na may iisang codebase.

Pangunahin

  • ARCore — platform ng Google para sa augmented reality sa Android, inilunsad noong 2018.
  • Motion Tracking — teknolohiya ng pagsubaybay sa galaw ng device batay sa IMU at pagsusuri ng imahe.
  • Environmental Understanding — pagkilala sa mga eroplano, hangganan at relief ng mga surface.
  • Cloud Anchors — mekanismo ng pag-sync ng AR objects sa pagitan ng maraming device sa pamamagitan ng cloud.
  • ARCore SDK available para sa Android (Kotlin/Java), iOS, Unity at Unreal Engine.

Ano ang ARCore?

ARCore — ay ang augmented reality platform ng Google, inanunsyo noong 2018 bilang kahalili ng Project Tango sa isang mas magaan at mas accessible na format. Hindi tulad ng Tango na nangangailangan ng mga espesyal na depth sensor, gumagana ang ARCore sa mga standard na Android smartphone gamit lamang ang camera at inertial sensors (IMU).

Gumagamit ang ARCore ng tatlong pangunahing teknolohiya: Motion Tracking para subaybayan ang posisyon ng device, Environmental Understanding para makita ang mga pahalang at patayong eroplano at Light Estimation para i-adjust ang ilaw ng mga virtual na bagay sa totoong kapaligiran. Ang tatlong teknolohiyang ito ay nagpapahintulot sa paglalagay ng AR objects na mukhang natural sa anumang surface.

Ayon sa Google I/O 2024, ang ARCore ay sinusuportahan sa mahigit 1 bilyong Android device, kabilang ang Samsung, Xiaomi, Huawei, OnePlus, Google Pixel at iba pang smartphone. Ang platform ay integrated sa Google Play Services for AR na nagpapahintulot sa pag-update ng ARCore sa pamamagitan ng Google Play Store nang hiwalay sa bersyon ng Android.

Ebolusyon ng ARCore

Sa loob ng anim na bersyon, ang ARCore ay sumailalim sa makabuluhang ebolusyon: ARCore 1.0 — pangunahing pagsubaybay at pagkilala ng eroplano; ARCore 1.2 — patayong eroplano at Augmented Images; ARCore 1.7 — Cloud Anchors para sa multi-user sessions; ARCore 1.10 — Augmented Faces para sa pagsubaybay sa ekspresyon ng mukha.

ARCore 1.20+ ay may kasamang Scene Semantic Understanding — pagkilala sa mga kategorya ng bagay (sahig, kisame, dingding, kasangkapan, halaman, pinto) sa pamamagitan ng TensorFlow Lite ML model sa device. Ang Street View Geometry API ay nagpapahintulot sa paggamit ng Google Street View depth maps para sa AR navigation sa labas.

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

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

Paano gumagana ang ARCore

ARCore ay gumagamit ng hybrid approach: ang IMU (inertial measurement unit) ay hinuhulaan ang posisyon ng device na may mataas na frequency (hanggang 1000 Hz), at ang visual odometry ay nagwawasto ng mga error batay sa pagsusuri ng mga feature points mula sa camera na may frequency na 30–60 Hz. Ang approach na ito ay nagbibigay ng tracking accuracy na humigit-kumulang 1–2 sentimetro sa mga nakatigil na kondisyon.

Ang proseso ng Environmental Understanding ay gumagana sa tatlong yugto: una, hinahanap ng ARCore ang mga feature points sa imahe ng camera, pagkatapos ay tinutukoy ang mga kumpol ng mga punto na nasa parehong eroplano at pinapalapit ang mga ito sa isang polygon. Pagkatapos makilala ang eroplano, lumilikha ang ARCore ng Trackable object na uri ng Plane na naa-update habang dumarating ang mga bagong frame.

Ayon sa Google, tinutukoy ng ARCore ang isang eroplano na may sukat na 10x10 sentimetro sa layo na hanggang 1 metro mula sa camera. Para sa katamtamang laki ng mga kuwarto (kuwarto na 20 m²) ang buong pag-scan ng mga eroplano ay tumatagal ng mga 2–4 na segundo. Kapag gumagamit ng Depth API na may suporta sa ToF sensor, ang accuracy ng pagkilala ay tumataas ng 40%.

Depth API at Scene Mesh

Depth API — teknolohiya ng ARCore na bumubuo ng depth map ng scene batay sa stereo analysis ng imahe ng camera. Sa mga device na may ToF sensor (Time-of-Flight) ang depth map ay nakukuha agad na may accuracy na hanggang 2 cm. Sa mga device na walang depth sensor, ang Depth API ay gumagamit ng machine learning para tantyahin ang lalim mula sa isang frame, na nagbibigay ng accuracy na humigit-kumulang 10 cm.

Scene Mesh — isang three-dimensional na network ng kapaligiran na binuo ng ARCore sa real-time. Ang network ay ginagamit para sa collision physics, occlusion ng virtual objects at paglalagay ng mga anino. Ang Scene Mesh ay available sa mga device na may OpenGL ES 3.1 at suporta sa Depth API, sumasaklaw ng hanggang 500 libong polygon bawat frame.

kotlin
// Pagkuha ng depth map
val depthImage = frame.acquireDepthImage16Bits()

// Paglalagay ng object sa kinilalang eroplano
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 at ARKit: paghahambing

Bagaman ARCore at ARKit ay nilulutas ang parehong mga gawain — pagsubaybay sa posisyon, pagkilala sa eroplano at pagtatasa ng ilaw — ang kanilang mga approach at ecosystem ay magkaiba. Ang ARCore ay nagbibigay-priyoridad sa cross-platform at compatibility, habang ang ARKit ay gumagamit ng malalim na integrasyon sa Apple hardware.

Mga pangunahing pagkakaiba: gumagana ang ARCore sa Android at iOS sa pamamagitan ng ARCore SDK, ARKit — sa iOS lamang. Gumagamit ang ARCore ng Cloud Anchors para sa pag-sync sa pamamagitan ng Firebase, ARKit — ARWorldMap para sa direktang pagpapalitan sa pagitan ng mga device. Ang ARCore na may Depth API ay sumusuporta sa ToF sensors, ARKit na may LiDAR — laser scanning na may accuracy na hanggang 3 cm.

Ayon sa mga paghahambing na pagsusulit ng Google 2024, ang tracking accuracy ng ARCore sa mga device na may gyroscope at ToF sensor ay maihahambing sa ARKit sa iPhone na may LiDAR — ang error ay hindi lalampas sa 2 cm sa layo na 2 metro. Sa mga device na walang ToF, ang ARCore ay nahuhuli sa ARKit sa bilis ng pagsisimula: 3 segundo kumpara sa 0.5 segundo.

Ang pagpili sa pagitan ng ARCore at ARKit ay depende sa target na audience: kung ang app ay para sa iOS lamang — ang ARKit ay nagbibigay ng mas mahusay na performance at access sa eksklusibong LiDAR features. Kung kinakailangan ang suporta sa parehong platform — ang ARCore na may ARCore iOS SDK ay nagpapahintulot sa paggamit ng pare-parehong codebase na may minimal na pagkakaiba sa platform, kahit na may pagkawala ng ilang hardware capabilities ng bawat platform.

KatangianARCoreARKit
PlatformAndroid + iOS + Unity/UnrealiOS lamang
Depth sensorToF (opsyonal)LiDAR (Pro models)
Pag-syncCloud Anchors (Firebase)ARWorldMap (Multipeer)
Pagsubaybay sa mukhaAugmented FacesFace Tracking (TrueDepth)
Accuracy ng VIO1–3 cm0.5–1 cm

Pagsasama ng ARCore sa application

Ang pagsasama ng ARCore ay nagsisimula sa pagdaragdag ng dependency Google Play Services for AR sa build.gradle: com.google.ar:core. Dapat suriin ng app ang availability ng ARCore sa device sa pamamagitan ng ArCoreApk.checkAvailability() — kung hindi naka-install ang ARCore, imungkahi sa user na i-install ito mula sa Google Play Store.

Ang pangunahing proyekto ng ARCore ay may kasamang: paglikha ng Session at Config, pag-configure ng SurfaceView para sa pagpapakita ng camera, pagsisimula ng session sa pamamagitan ng session.resume() at pagproseso ng mga frame sa pamamagitan ng session.update(). Para sa rendering ng 3D objects gamit ang Sceneform SDK (library ng Google batay sa Filament) o Unity/Unreal para sa mga kumplikadong scene.

Inirerekomenda ng Google ang Sceneform para sa Kotlin apps — nagbibigay ito ng mga ready-made na component: ModelRenderable para sa pag-load ng 3D models (OBJ, glTF, FBX), ViewRenderable para sa pag-embed ng Android View sa AR scene at MotionEvent para sa paghawak ng mga touch. Ang Sceneform ay awtomatikong namamahala sa lifecycle ng AR session at paglabas ng mga resources.

Pamamahala ng mga pagkabigo sa pagsubaybay

Ang ARCore ay maaaring mawalan ng pagsubaybay sa hindi sapat na ilaw, pare-parehong mga surface o mabilis na paggalaw ng device. Ang status ng pagsubaybay ay available sa pamamagitan ng frame.getTrackingState() — mga value na TRACKING, PAUSED at STOPPED. Kapag lumipat sa PAUSED, inirerekomenda na i-pause ang rendering at ipakita sa user ang mga rekomendasyon: “Galawin nang mas mabagal ang device” o “Pumunta sa mas maliwanag na lugar”.

Para sa awtomatikong pagbawi pagkatapos ng pagkabigo, sinusuportahan ng ARCore ang relocalization batay sa naka-save na mapa ng mga feature points. Maaaring i-save ng developer ang mapa sa pamamagitan ng session.serialize() at ibalik ito sa pamamagitan ng session.deserialize() — ito ay kapaki-pakinabang para sa pangmatagalang AR experience kung saan bumalik ang user sa parehong pisikal na espasyo. Ang pagpapanumbalik ng mapa ay tumatagal ng 1–2 segundo, sa kondisyon na ang kapaligiran ay hindi nagbago nang malaki.

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

Mga madalas itanong

Anong mga device ang sumusuporta sa ARCore?

Ang ARCore ay sinusuportahan sa mahigit 1 bilyong Android device, kabilang ang Google Pixel 2+, Samsung Galaxy S7+, Xiaomi Mi 8+, Huawei P20+, OnePlus 6+, Sony Xperia XZ2+ at marami pang iba. Ang kumpletong listahan ng mga certified device ay nai-publish sa developers.google.com/ar/devices.

Kailangan ba ng internet para sa ARCore?

Ang mga pangunahing function ng ARCore — Motion Tracking at Environmental Understanding — ay hindi nangangailangan ng internet. Ang Cloud Anchors at Augmented Images na may cloud links ay nangangailangan ng koneksyon. Ang Depth API at Scene Mesh ay gumagana nang buo sa device nang walang koneksyon sa network.

Maaari bang gumawa ng AR apps nang walang Sceneform?

Oo, ang ARCore ay maaaring gamitin nang direkta sa OpenGL ES 3.1, sa Unity o Unreal Engine. Ang Sceneform ay ang inirerekomendang opsyon para sa mga simpleng proyekto sa Kotlin, ngunit hindi ito kinakailangan. Para sa mga kumplikadong 3D scene na may makatotohanang physics, mas mahusay na gumamit ng game engine na may suporta sa ARCore SDK.

Paano gumagana ang ARCore sa loob at labas?

ARCore ay na-optimize para sa mga panloob na espasyo na may sapat na ilaw (100–500 lux). Sa labas sa ilalim ng maliwanag na araw, ang tracking accuracy ay maaaring bumaba dahil sa sobrang liwanag ng camera. Para sa trabaho sa labas, inirerekomenda ng Google ang paggamit ng Street View Geometry API na nagbibigay ng depth maps para sa mga urban na lokasyon.

Ano ang pagkakaiba ng ARCore sa Scene Viewer?

Scene Viewer — ay isang ready-made na Google UI component para sa pagtingin ng 3D models sa AR nang walang pagsusulat ng code, na gumagana sa pamamagitan ng WebXR. Ang ARCore ay isang ganap na SDK para sa paglikha ng customized na AR experience na may programmatic control sa lahat ng aspeto ng session, tracking at rendering.

Buod

  • ARCore — cross-platform AR platform mula sa Google, gumagana sa Android at iOS.
  • Motion Tracking ay gumagamit ng hybrid ng IMU at visual odometry para sa tumpak na pagpoposisyon.
  • Cloud Anchors ay nagbibigay ng multi-user AR sessions na may pag-sync sa pamamagitan ng Firebase.
  • Depth API ay bumubuo ng depth map ng scene — programmatically o sa pamamagitan ng ToF sensor.
  • Sceneform — inirerekomendang SDK para sa paggawa ng AR apps sa Kotlin na may minimal na code.
  • Compatibility — mahigit 1 bilyong Android device na may ARCore certification.
  • Pagpili sa pagitan ng ARCore at ARKit ay depende sa target platform at accuracy requirements.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din