ARKit — nedir, temel kavramlar ve AR teknolojisi

Yazar: IT Sectr Yayınlanma: 2026-03-25 Okuma süresi: 8 dk

ARKit framework'ü, geliştiricilerin bilgisayarlı görü konusunda derin bilgiye ihtiyaç duymadan iOS için AR uygulamaları oluşturmasını sağlayan Apple'ın artırılmış gerçeklik platformudur. Apple ARKit Documentation, 2025'e göre framework, harici işaretçiler olmadan uzayda cihaz konumunu hassas bir şekilde izlemek için Visual-Inertial Odometry kullanır. Sahnenin anlamsal olarak anlaşılması, yatay ve dikey düzlemleri tanımayı, aydınlatmayı belirlemeyi ve gerçek ortamda sanal nesneleri yerleştirmeyi sağlar.

Önemli Noktalar

  • ARKit — 2017'de iOS 11 ile tanıtılan, iOS için Apple'ın artırılmış gerçeklik framework'ü.
  • Motion Tracking — harici işaretçiler olmadan uzayda cihaz konumunu izleme teknolojisi.
  • Scene Understanding — kullanıcının gerçek ortamındaki düzlemleri, sınırları ve nesneleri tanıma.
  • ARAnchor — gerçek sahnede sanal içeriğin konumunu sabitleyen bir nesne.
  • ARSCNView — SceneKit tabanlı 3D içeriği işlemek için ana sınıf.

ARKit nedir?

ARKit, WWDC 2017'de iOS 11 ile birlikte duyurulan Apple'ın artırılmış gerçeklik framework'üdür. Kamera yeteneklerini, M serisi hareket yardımcı işlemcisini ve A çiplerinin nöral motorunu birleştirerek özel donanım gerektirmeden sürükleyici bir AR deneyimi sunar — sadece bir iPhone veya iPad yeterlidir.

ARKit, uzayda cihaz hareketini hassas bir şekilde izlemek için kameradan ve Core Motion eylemsizlik sensörlerinden gelen verileri birleştiren Visual-Inertial Odometry (VIO) kullanır. VIO, framework'ün GPS veya harici işaretçiler kullanmadan cihazın ortamına göre nerede olduğunu anlamasını sağlar.

Apple WWDC 2024'e göre ARKit 6, A12 çipli ve daha yeni cihazlarda desteklenmektedir (iPhone XS, iPad Pro 2018+). App Store'daki AR uygulaması sayısı 15.000'i aştı ve tüm AR oturumlarında tanınan düzlemlerin toplam alanı 100 milyar metrekareyi aşıyor.

ARKit'in evrimi

Altı sürüm boyunca ARKit önemli iyileştirmeler aldı: ARKit 1.0 (iOS 11) — temel izleme ve düzlem tanıma; ARKit 2.0 — ARWorldMap aracılığıyla paylaşımlı AR oturumları ve 3D nesne algılama; ARKit 3.0 — insan vücudu izleme, kişi segmentasyonu ve eş zamanlı ön ve arka kameralar.

ARKit 4.0, anlık derinlik ve nesne kapanması belirleme için LiDAR tarayıcıyı ve AR içeriğini GPS koordinatlarına bağlamak için Location Anchor'ı tanıttı. ARKit 6, HDR ile 4K video, LiDAR kullanarak Düzlem Tahmini ve gelişmiş kapanma işleme ekledi.

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)

ARKit nasıl çalışır

ARKit, bir yapılandırmayla başlayan ve kameradan gelen video akışını sürekli olarak analiz eden bir AR oturum döngüsü aracılığıyla çalışır. Her karede framework, cihaz konumunu (6 serbestlik derecesi) hesaplar, tanınan düzlemlerin haritasını günceller ve sanal nesne konumlarını ayarlar — tümü saniyede 60 kare hızında.

VIO süreci iki paralel hattan oluşur: görsel odometri algoritması kareler arasındaki özellik noktalarının hareketini izlerken, Core Motion eylemsizlik sensörleri kamera hızlı hareket ettiğinde veya görüntü bulanık olduğunda kısa aralıklarla hareketi tahmin eder. İki yöntemin birleştirilmesi, 1 santimetreye kadar izleme doğruluğu sağlar.

Apple'a göre ARKit, kare başına 500'e kadar özellik noktası işler ve ortam haritasının (ARWorldMap) çapı 100 metreye kadar ulaşabilir. Ortamı tarama ve harita oluşturma, oturum başladıktan sonra yaklaşık 2–3 saniye sürer — bu süre zarfında ARKit, kamera ve sensörlerden veri toplar.

ARAnchor ve nesne yerleştirme

ARAnchor, içerik yerleştirmek için anahtar bir nesnedir. ARKit bir düzlemi tanıdığında, yüzeyin konumunu, boyutunu ve yönünü belirten bir ARPlaneAnchor oluşturur. Geliştirici, session(_:didAdd:) delegesine yanıt verir ve SceneKit veya RealityKit kullanarak algılanan düzlem konumuna 3D nesneyi yerleştirir.

Nesnelerin sürüklenmesini uygulamak için ARHitTestResult kullanılır: ekrana dokunulduğunda, ARKit karesi aracılığıyla bir hit-test gerçekleştirilir ve tanınan düzlemlerle ışının kesişme noktasını döndürür. Bulunan nokta bir ARAnchor'a dönüştürülür ve nesne bu konuma sabitlenir.

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

ARKit'in temel özellikleri

ARKit, artırılmış gerçekliği gerçekçi ve işlevsel hale getiren bir dizi teknoloji sunar: 6 serbestlik dereceli hareket izleme, düzlem ve sınır tanıma yoluyla sahne anlama, doğru gölge oluşturma için aydınlatma tahmini, kişi kapanması ve ortam haritalarına dayalı yansıtıcı yüzeyler.

Motion Capture (ARKit 3+) — kamera aracılığıyla insan vücudunu gerçek zamanlı izleme teknolojisi. Harici sensörler olmadan kullanıcı hareketleriyle karakterleri canlandırmayı sağlar: 60 Hz'de 18 eklem tanınır. Fitness uygulamalarında ve animasyon prototiplemede kullanılır.

Paylaşımlı AR oturumları (ARKit 2+), birden fazla cihazın paylaşılan bir alanda aynı sanal nesneleri görmesini sağlar. ARWorldMap, ortam haritasını kaydeder ve ağ üzerinden diğer cihazlara iletilir. Apple bir senkronizasyon doğruluğu örneği verir: aynı odadaki iki iPhone 12 Pro, nesneyi 2 santimetreden fazla olmayan bir sapma ile görür.

LiDAR ile çalışma

iPhone 12 Pro ve daha yeni cihazlara yerleşik LiDAR tarayıcı, ARKit'in yeteneklerini kökten değiştirir. Görüntü analizi yoluyla yazılım tabanlı derinlik belirleme yerine LiDAR, 5 metreye kadar menzilde 3 santimetreye kadar doğrulukla anında derinlik haritası sağlar. Bu, ARKit'in ön kamera taraması olmadan düzlemleri anında tanımasını sağlar.

LiDAR ile ARKit, nesne kapanmasını belirleyebilir: sanal bir nesne gerçek bir sandalye veya masanın arkasına gizlenebilir. Ayrıca Scene Reconstruction, ortamın 3D ağını gerçek zamanlı olarak oluşturur — oda başına 10 milyon poligona kadar, çarpışma fiziği simülasyonu ve gerçekçi aydınlatma için kullanılır.

swift
// LiDAR Yapılandırması
let lidarConfig = ARWorldTrackingConfiguration()
lidarConfig.planeDetection = [.horizontal]
lidarConfig.sceneReconstruction = .mesh

arView.session.run(lidarConfig)

// Düzlem Dokunma Algılama
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
        )
}

ARKit'i bir uygulamaya entegre etme

ARKit entegrasyonu minimum gereksinimlerle başlar: Xcode 15+, iOS 17 SDK, A12 Bionic çip veya daha yeni bir cihaz. Info.plist'e NSCameraUsageDescription anahtarı eklenmelidir — ARKit, izleme ve AR sahnesini görüntüleme için kamerayı kullanır. Bu anahtar olmadan, AR oturumu başlatılırken uygulama çökecektir.

İçerik oluşturma için iOS üç framework sunar: orta karmaşıklıktaki 3D grafikler için SceneKit, PBR malzemelerle fotogerçekçi işleme için RealityKit ve maksimum performans için Metal. RealityKit, ARKit özellikleri, animasyon ve fizik için yerleşik destek içerdiğinden yeni projeler için önerilen seçimdir.

Apple'a göre, mevcut bir uygulamaya temel bir AR ekranı entegre etmek için ortalama süre deneyimli bir iOS geliştiricisi için yaklaşık 2 saattir. Ana zorluklar, AR sahnesinde UI öğelerinin katmanlanmasıyla çalışırken ve AR oturumu kesintileri (çağrılar, uygulama değiştirme veya düşük ışıkta izleme kaybı) sırasında ortaya çıkar.

Hata işleme ve arızalar

ARKit birkaç durumda izlemeyi kaybedebilir: yetersiz aydınlatma (100 lüks altında), özellik noktası eksikliği (tek renkli duvarlar), hızlı kamera hareketleri veya lens tıkanması. ARSessionDelegate bu durumları yönetmek için yöntemler sağlar — kullanıcıya ipuçları gösterilmesi önerilir: “Cihazı daha yavaş hareket ettirin” veya “Işığı açın.”

Bir arızadan sonra kurtulmak için ARKit otomatik olarak yeniden konumlandırmayı başlatır — mevcut video akışını kaydedilmiş ortam haritasıyla eşleştirmeye çalışır. Yeniden konumlandırma mümkün değilse, oturum yeni bir yapılandırmayla yeniden başlatılır. Geri dönüşte hızlı AR sahnesi kurtarma için uygulamadan çıkarken ARWorldMap'in kaydedilmesi önerilir.

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("Oturum kesintiye uğradı")
    }
}

Sıkça sorulan sorular

ARKit hangi cihazlarda çalışır?

ARKit, A12 Bionic çip ve daha yeni Apple cihazlarında çalışır: iPhone XS, XR, 11, 12, 13, 14, 15, 16 ve SE (2. ve 3. nesil), iPad Pro 2018+, iPad Air 2020+, iPad mini 2021+. LiDAR özellikleri için iPhone 12 Pro/Pro Max, iPhone 13 Pro/Pro Max, iPhone 14 Pro/Pro Max, iPhone 15 Pro/Pro Max ve iPad Pro 2020+ gereklidir.

ARKit SceneKit veya RealityKit olmadan kullanılabilir mi?

Evet, ARKit doğrudan Metal ile kullanılabilir, ancak bu özel gölgelendirici ve işleme yazılmasını gerektirir. SceneKit ve RealityKit, framework düzeyinde ARKit entegrasyonuyla hazır çözümler sunar. Yeni başlayanlar için RealityKit en uygun seçimdir çünkü ARKit işlevlerini otomatik olarak yönetir.

ARKit aydınlatma değişikliklerini nasıl yönetir?

ARKit, kamera aracılığıyla sahne aydınlatmasını otomatik olarak değerlendirir ve AREnvironmentProbeAnchor aracılığıyla ışık kaynağının yönü, yoğunluğu ve renk sıcaklığı hakkında veri sağlar. Bu, sanal nesnelerin doğru bir şekilde gölge oluşturmasını ve ortamı yansıtmasını sağlayarak gerçek dünyayla gerçekçi bir bütünleşme yaratır.

ARKit, ARCore'dan nasıl farklıdır?

ARKit yalnızca iOS'ta çalışır ve izleme için Visual-Inertial Odometry kullanırken, Google'ın ARCore'u Android'de çalışır ve IMU ve kameraya dayalı kendi Motion Tracking'ini kullanır. ARKit, Apple çipleriyle donanım entegrasyonu sayesinde avantaja sahipken, ARCore Cloud Anchors aracılığıyla platformlar arası yetenek sunar.

ARKit oyun oluşturmak için kullanılabilir mi?

Evet, ARKit AR oyunları için idealdir. SceneKit ve RealityKit fizik (SCNPhysicsBody, PhysicsSimulation), animasyon, ses ve parçacıkları destekler. Bilinen örnekler arasında Pokémon GO (ARKit ile kendi motorunu kullanır), Angry Birds AR ve Lego AR Studio bulunur. ARKit ayrıca ARWorldMap aracılığıyla çok oyunculu oturumları da destekler.

Özet

  • ARKit — 2017'den itibaren Visual-Inertial Odometry tabanlı Apple artırılmış gerçeklik framework'ü.
  • 6 serbestlik derecesi — üç boyutlu uzayda hassas cihaz konum izleme.
  • SceneKit ve RealityKit — farklı karmaşıklık seviyelerinde AR içeriği oluşturmak için iki framework.
  • LiDAR Pro cihazlarda anlık derinlik belirleme ve ortam yeniden yapılandırması sağlar.
  • Paylaşımlı oturumlar birden fazla kullanıcının aynı AR nesnelerini görmesini sağlar.
  • Motion Capture gerçek zamanlı karakter animasyonu için 18 vücut eklemini izler.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun