ARKit — ano ito, mga pangunahing konsepto at teknolohiyang AR

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

Ang ARKit framework — augmented reality platform mula sa Apple na nagpapahintulot sa mga developer na gumawa ng mga AR app para sa iOS nang walang malalim na kaalaman sa computer vision. Ayon sa Apple ARKit Documentation, 2025, ang framework ay gumagamit ng Visual-Inertial Odometry para sa tumpak na pagsubaybay sa posisyon ng device sa espasyo nang walang panlabas na marker. Semantikong pag-unawa sa eksena ay nagpapahintulot sa pagkilala ng pahalang at patayong mga eroplano, pagtukoy ng ilaw at paglalagay ng mga virtual na bagay sa tunay na kapaligiran.

Mga pangunahing punto

  • ARKit — framework ng Apple para sa augmented reality sa iOS, ipinakilala noong 2017 kasama ang iOS 11.
  • Motion Tracking — teknolohiya ng pagsubaybay sa posisyon ng device sa espasyo nang walang panlabas na beacon.
  • Scene Understanding — pagkilala sa mga eroplano, hangganan at bagay sa tunay na kapaligiran ng gumagamit.
  • ARAnchor — bagay na nag-aayos ng posisyon ng virtual na nilalaman sa tunay na eksena.
  • ARSCNView — pangunahing klase para sa pag-render ng 3D na nilalaman batay sa SceneKit.

Ano ang ARKit?

ARKit — augmented reality framework mula sa Apple, inihayag sa WWDC 2017 kasama ng iOS 11. Pinagsasama nito ang mga kakayahan ng camera, M-series motion processor at neural engine ng A-chips upang lumikha ng nakaka-engganyong AR na karanasan nang walang espesyal na hardware — iPhone o iPad lamang ang kailangan.

Gumagamit ang ARKit ng teknolohiyang Visual-Inertial Odometry (VIO), na pinagsasama ang data mula sa camera at Core Motion inertial sensor para sa tumpak na pagsubaybay sa paggalaw ng device sa espasyo. Pinapayagan ng VIO ang framework na maunawaan kung saan matatagpuan ang device kaugnay ng kapaligiran, nang hindi gumagamit ng GPS o panlabas na marker.

Ayon sa Apple WWDC 2024, ang ARKit 6 ay sinusuportahan sa mga device na may A12 chip at mas bago (iPhone XS, iPad Pro 2018+). Ang bilang ng mga AR app sa App Store ay lumampas na sa 15 libo, at ang kabuuang lugar ng mga nakilalang eroplano sa lahat ng AR session ay lumampas sa 100 bilyong metro kuwadrado.

Ebolusyon ng ARKit

Sa anim na bersyon, nakatanggap ang ARKit ng makabuluhang mga pagpapabuti: ARKit 1.0 (iOS 11) — pangunahing pagsubaybay at pagkilala sa eroplano; ARKit 2.0 — pinagsamang AR session sa pamamagitan ng ARWorldMap at pagtuklas ng 3D na bagay; ARKit 3.0 — pagsubaybay sa katawan ng tao, pag-segment ng mga tao at sabay na harap at likod na camera.

Ipinakilala ng ARKit 4.0 ang LiDAR Scanner para sa agarang pagtukoy ng lalim at opacity ng mga bagay, pati na rin ang Location Anchor para sa pag-uugnay ng AR na nilalaman sa mga coordinate ng GPS. Nagdagdag ang ARKit 6 ng 4K video na may HDR, Plane Estimation gamit ang LiDAR at pinahusay na pagproseso ng occlusion.

swift
import ARKit

let configuration = ARWorldTrackingConfiguration()
configuration.planeDetection = [.horizontal, .vertical]
configuration.environmentTexturing = .automatic

let arView = ARSCNView(frame: view.bounds)
arView.session.run(configuration)
arView.debugOptions = [.showFeaturePoints]
view.addSubview(arView)

Paano gumagana ang ARKit

ARKit ay gumagana sa pamamagitan ng isang AR session cycle, na sinimulan gamit ang isang configuration at patuloy na sinusuri ang video stream mula sa camera. Bawat frame, kinakalkula ng framework ang posisyon ng device (6 degrees of freedom), ina-update ang mapa ng mga nakilalang eroplano at itinatama ang posisyon ng mga virtual na bagay — lahat ng ito sa dalas ng 60 frame bawat segundo.

Ang proseso ng VIO ay binubuo ng dalawang parallel stream: ang visual odometry algorithm ay sumusubaybay sa paggalaw ng mga feature points sa pagitan ng mga frame, at ang Core Motion inertial sensor ay hinuhulaan ang paggalaw sa mga maikling interval kapag mabilis gumagalaw ang camera o malabo ang imahe. Ang pagsasama ng dalawang pamamaraan ay nagbibigay ng katumpakan ng pagsubaybay hanggang sa 1 sentimetro.

Ayon sa Apple, ang ARKit ay nagpoproseso ng hanggang 500 feature points bawat frame, at ang laki ng mapa ng kapaligiran (ARWorldMap) ay maaaring umabot ng 100 metro ang diyametro. Ang pag-scan ng kapaligiran at pagbuo ng mapa ay tumatagal ng mga 2-3 segundo pagkatapos simulan ang session — sa buong oras na ito, ang ARKit ay nangongolekta ng data mula sa camera at mga sensor.

ARAnchor at paglalagay ng mga bagay

ARAnchor — pangunahing bagay para sa paglalagay ng nilalaman. Kapag nakilala ng ARKit ang isang eroplano, lumilikha ito ng ARPlaneAnchor na may pagtukoy sa posisyon, sukat at oryentasyon ng ibabaw. Ang developer ay tumutugon sa delegate session(_:didAdd:) at naglalagay ng 3D na bagay sa lugar ng pagtuklas ng eroplano sa pamamagitan ng SceneKit o RealityKit.

Para sa pagpapatupad ng pag-drag ng mga bagay, ginagamit ang ARHitTestResult: sa pagpindot sa screen, isinasagawa ang hit-test sa pamamagitan ng ARKit frame, na nagbabalik ng punto ng intersection ng ray sa mga nakilalang eroplano. Ang natagpuang punto ay ginagawang ARAnchor, at ang bagay ay naaayos sa posisyong ito.

swift
func renderer(
    _ renderer: SCNSceneRenderer,
    didAdd node: SCNNode,
    for anchor: ARAnchor
) {
    guard let planeAnchor = anchor
        as? ARPlaneAnchor else { return }

    let boxNode = SCNNode(
        geometry: SCNBox(
            width: planeAnchor.extent.x,
            height: 0.01,
            length: planeAnchor.extent.z,
            chamferRadius: 0
        )
    )
    node.addChildNode(boxNode)
}

Mga pangunahing kakayahan ng ARKit

ARKit ay nagbibigay ng isang hanay ng mga teknolohiya na ginagawang makatotohanan at functional ang augmented reality: pagsubaybay sa paggalaw na may 6 degrees of freedom, pag-unawa sa eksena sa pamamagitan ng pagkilala sa mga eroplano at hangganan, pagtatantya ng ilaw para sa tamang paglalagay ng anino, occlusion ng mga tao at reflective surface batay sa mga mapa ng kapaligiran.

Motion Capture (ARKit 3+) — teknolohiya ng pagsubaybay sa katawan ng tao sa real-time sa pamamagitan ng camera. Pinapayagan ang pag-animate ng mga karakter sa pamamagitan ng galaw ng gumagamit nang walang panlabas na sensor: 18 joint ang nakikilala sa dalas ng 60 Hz. Ginagamit sa mga fitness app at para sa prototyping ng animation.

Pinagsamang AR session (ARKit 2+) ay nagpapahintulot sa maraming device na makita ang parehong virtual na bagay sa shared space. Ang ARWorldMap ay nag-iimbak ng mapa ng kapaligiran, na ipinapadala sa iba pang device sa pamamagitan ng network. Ang Apple ay nagbibigay ng halimbawa ng katumpakan ng synchronization: dalawang iPhone 12 Pro sa isang silid ay nakakakita ng bagay na may pagkakaiba na hindi hihigit sa 2 sentimetro.

Paggamit ng LiDAR

Ang LiDAR scanner, na naka-install sa iPhone 12 Pro at mas bago, ay radikal na nagbabago sa mga kakayahan ng ARKit. Sa halip na pagtukoy ng lalim sa pamamagitan ng software analysis ng mga imahe, ang LiDAR ay agad na nagbibigay ng depth map na may katumpakan hanggang 3 sentimetro sa saklaw na hanggang 5 metro. Pinapayagan nito ang ARKit na makilala ang mga eroplano agad, nang walang paunang pag-scan gamit ang camera.

Gamit ang LiDAR, matutukoy ng ARKit ang opacity ng mga bagay: ang isang virtual na bagay ay maaaring magtago sa likod ng isang tunay na upuan o mesa. Bukod pa rito, ang Scene Reconstruction ay bumubuo ng 3D mesh ng kapaligiran sa real-time — hanggang 10 milyong polygon bawat silid, ginagamit para sa simulation ng collision physics at makatotohanang ilaw.

swift
// Configuration para sa LiDAR
let lidarConfig = ARWorldTrackingConfiguration()
lidarConfig.planeDetection = [.horizontal]
lidarConfig.sceneReconstruction = .mesh

arView.session.run(lidarConfig)

// Detection ng touch sa eroplano
override func touchesBegan(
    _ touches: Set<UITouch>,
    with event: UIEvent?
) {
    let location = touches.first?.location(in: arView)
    guard let hitPoint = location else { return }

    let results = arView
        .raycastQuery(
            from: hitPoint,
            allowing: .existingPlaneInfinite,
            alignment: .horizontal
        )
}

Pagsasama ng ARKit sa app

Ang pagsasama ng ARKit ay nagsisimula sa pinakamababang kinakailangan: Xcode 15+, iOS 17 SDK, device na may A12 Bionic chip at mas bago. Sa Info.plist kailangan idagdag ang key na NSCameraUsageDescription — gumagamit ang ARKit ng camera para sa pagsubaybay at pagpapakita ng AR scene. Kung wala ang key na ito, ang app ay magtatapos sa error kapag sinimulan ang AR session.

Para sa pag-render ng nilalaman, nag-aalok ang iOS ng tatlong framework: SceneKit para sa 3D graphics ng katamtamang kumplikado, RealityKit para sa photorealistic rendering na may PBR materials at Metal para sa maximum na pagganap. Ang RealityKit — inirerekomendang pagpipilian para sa mga bagong proyekto, dahil kasama nito ang built-in na suporta para sa ARKit functions, animation at physics.

Ayon sa Apple, ang average na oras ng pagsasama ng basic AR screen sa isang umiiral na app — mga 2 oras para sa isang bihasang iOS developer. Ang mga pangunahing paghihirap ay lumilitaw kapag nagtatrabaho sa pag-overlay ng mga UI element sa AR scene at kapag humahawak sa mga pagkaantala ng AR session — mga tawag, paglipat ng app o pagkawala ng pagsubaybay sa mahinang ilaw.

Pangangasiwa ng error at pagkabigo

Ang ARKit ay maaaring mawalan ng pagsubaybay sa isang bilang ng mga sitwasyon: hindi sapat na ilaw (mas mababa sa 100 lux), kawalan ng mga feature points (walang pattern na pader), mabilis na paggalaw ng camera o pagtakip ng lens. Ang ARSessionDelegate delegate ay nagbibigay ng mga pamamaraan para sa pangangasiwa sa mga estadong ito — inirerekomenda na magpakita ng mga tip sa gumagamit: “Ilipat ang device nang mas mabagal” o “Buksan ang ilaw”.

Para sa pagbawi pagkatapos ng pagkabigo, awtomatikong sinisimulan ng ARKit ang relokalisasyon — sinusubukan nitong itugma ang kasalukuyang video stream sa naka-save na mapa ng kapaligiran. Kung hindi posible ang relokalisasyon, ang session ay muling sisimulan gamit ang bagong configuration. Inirerekomenda na i-save ang ARWorldMap kapag lumalabas sa app para sa mabilis na pagpapanumbalik ng AR scene sa pagbabalik.

swift
class ARViewController: UIViewController {

    let arView = ARSCNView()

    override func viewDidLoad() {
        super.viewDidLoad()
        arView.session.delegate = self

        let config = ARWorldTrackingConfiguration()
        config.planeDetection = [.horizontal]
        config.frameSemantics = .personSegmentation
        arView.session.run(config)
    }

    func sessionWasInterrupted(
        _ session: ARSession
    ) {
        showAlert("Naantala ang session")
    }
}

Mga madalas itanong

Sa anong mga device gumagana ang ARKit?

Gumagana ang ARKit sa mga Apple device na may A12 Bionic chip at mas bago: iPhone XS, XR, 11, 12, 13, 14, 15, 16 at SE (ika-2 at ika-3 henerasyon), iPad Pro 2018+, iPad Air 2020+, iPad mini 2021+. Para sa LiDAR functions, kinakailangan ang iPhone 12 Pro/Pro Max, iPhone 13 Pro/Pro Max, iPhone 14 Pro/Pro Max, iPhone 15 Pro/Pro Max at iPad Pro 2020+.

Maaari bang gamitin ang ARKit nang walang SceneKit o RealityKit?

Oo, ang ARKit ay maaaring gamitin nang direkta sa Metal, ngunit ito ay nangangailangan ng pagsulat ng sariling shader at rendering. Ang SceneKit at RealityKit ay nagbibigay ng mga handa na solusyon na may ARKit integration sa antas ng framework. Para sa mga nagsisimula, ang RealityKit ay ang pinakamainam na pagpipilian, dahil awtomatiko nitong pinangangasiwaan ang ARKit functions.

Paano pinangangasiwaan ng ARKit ang pagbabago ng ilaw?

Awtomatikong sinusuri ng ARKit ang ilaw ng eksena sa pamamagitan ng camera at nagbibigay ng data tungkol sa direksyon, intensity at temperatura ng kulay ng pinagmumulan ng liwanag sa pamamagitan ng AREnvironmentProbeAnchor. Pinapayagan nito ang mga virtual na bagay na magtapon ng mga anino nang tama at sumalamin sa kapaligiran, na lumilikha ng makatotohanang pagsasanib sa tunay na mundo.

Paano naiiba ang ARKit sa ARCore?

ARKit ay gumagana lamang sa iOS at gumagamit ng Visual-Inertial Odometry para sa pagsubaybay, samantalang ang ARCore mula sa Google ay gumagana sa Android at gumagamit ng sarili nitong Motion Tracking batay sa IMU at camera. Ang ARKit ay may kalamangan dahil sa hardware integration sa Apple chips, at ang ARCore — multi-platform sa pamamagitan ng Cloud Anchors.

Maaari bang gamitin ang ARKit para sa paggawa ng mga laro?

Oo, ang ARKit ay perpekto para sa AR games. Ang SceneKit at RealityKit ay sumusuporta sa physics (SCNPhysicsBody, PhysicsSimulation), animation, tunog at particle. Mga kilalang halimbawa — Pokémon GO (gumagamit ng sariling engine na may ARKit), Angry Birds AR at Lego AR Studio. Sinusuportahan din ng ARKit ang mga multiplayer session sa pamamagitan ng ARWorldMap.

Buod

  • ARKit — Apple augmented reality framework batay sa Visual-Inertial Odometry mula 2017.
  • 6 degrees of freedom — tumpak na pagsubaybay sa posisyon ng device sa three-dimensional space.
  • SceneKit at RealityKit — dalawang framework para sa pag-render ng AR content na may iba't ibang antas ng kumplikado.
  • LiDAR ay nagbibigay ng agarang pagtukoy ng lalim at rekonstruksyon ng kapaligiran sa Pro devices.
  • Pinagsamang session ay nagpapahintulot sa maraming gumagamit na makita ang parehong AR objects.
  • Motion Capture ay sumusubaybay sa 18 joint ng katawan para sa real-time na animation ng karakter.

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