ARKit — ما هو، المفاهيم الأساسية وتقنية AR

المؤلف: IT Sectr نُشر: 2026-03-25 وقت القراءة: 8 دق

إطار عمل ARKit هو منصة الواقع المعزز من Apple التي تتيح للمطورين إنشاء تطبيقات AR لنظام iOS دون معرفة عميقة برؤية الكمبيوتر. وفقًا لـ Apple ARKit Documentation, 2025، يستخدم الإطار Visual-Inertial Odometry لتتبع دقيق لموضع الجهاز في الفضاء دون علامات خارجية. الفهم الدلالي للمشهد يسمح بالتعرف على المستويات الأفقية والرأسية، وتحديد الإضاءة، ووضع الكائنات الافتراضية في البيئة الحقيقية.

النقاط الرئيسية

  • ARKit — إطار عمل الواقع المعزز من Apple لنظام iOS، تم تقديمه في 2017 مع iOS 11.
  • Motion Tracking — تقنية تتبع موضع الجهاز في الفضاء بدون إشارات خارجية.
  • Scene Understanding — التعرف على المستويات والحدود والكائنات في البيئة الحقيقية للمستخدم.
  • ARAnchor — كائن يثبت موضع المحتوى الافتراضي في المشهد الحقيقي.
  • ARSCNView — الفئة الرئيسية لعرض المحتوى ثلاثي الأبعاد بناءً على SceneKit.

ما هو ARKit؟

ARKit هو إطار عمل الواقع المعزز من Apple، تم الإعلان عنه في WWDC 2017 مع iOS 11. يجمع بين إمكانيات الكاميرا، ومعالج الحركة من سلسلة M، والمحرك العصبي لرقائق A لتقديم تجربة AR غامرة دون الحاجة إلى أجهزة متخصصة — فقط iPhone أو iPad.

يستخدم ARKit Visual-Inertial Odometry (VIO)، الذي يجمع بيانات من الكاميرا وأجهزة الاستشعار بالقصور الذاتي من Core Motion لتتبع حركة الجهاز بدقة في الفضاء. يسمح VIO للإطار بفهم مكان الجهاز بالنسبة لبيئته دون استخدام GPS أو علامات خارجية.

وفقًا لـ Apple WWDC 2024، ARKit 6 مدعوم على الأجهزة المزودة برقاقة A12 وما أحدث (iPhone XS، iPad Pro 2018+). تجاوز عدد تطبيقات AR في App Store 15,000، وتتجاوز المساحة الإجمالية للمستويات المعترف بها عبر جميع جلسات AR 100 مليار متر مربع.

تطور ARKit

على مدار ستة إصدارات، تلقى ARKit تحسينات كبيرة: ARKit 1.0 (iOS 11) — تتبع أساسي والتعرف على المستويات؛ ARKit 2.0 — جلسات AR مشتركة عبر ARWorldMap واكتشاف الكائنات ثلاثية الأبعاد؛ ARKit 3.0 — تتبع جسم الإنسان، وتجزئة الأشخاص، والكاميرات الأمامية والخلفية المتزامنة.

قدم ARKit 4.0 ماسح LiDAR لتحديد العمق الفوري وإخفاء الكائنات، بالإضافة إلى Location Anchor لربط محتوى AR بإحداثيات GPS. أضاف ARKit 6 فيديو 4K مع HDR، وتقدير المستوى باستخدام LiDAR، وتحسين معالجة الإخفاء.

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

ARKit يعمل من خلال حلقة جلسة AR، تبدأ بتكوين وتقوم بتحليل مستمر لتدفق الفيديو من الكاميرا. في كل إطار، يحسب الإطار موضع الجهاز (6 درجات من الحرية)، ويحدث خريطة المستويات المعترف بها، ويضبط مواضع الكائنات الافتراضية — كل ذلك بمعدل 60 إطارًا في الثانية.

تتكون عملية VIO من مسارين متوازيين: خوارزمية التشفير البصري تتبع حركة النقاط المميزة بين الإطارات، بينما تتنبأ أجهزة الاستشعار بالقصور الذاتي من Core Motion بالحركة على فترات قصيرة عندما تتحرك الكاميرا بسرعة أو تكون الصورة غير واضحة. يؤدي الجمع بين الطريقتين إلى دقة تتبع تصل إلى 1 سنتيمتر.

وفقًا لـ Apple، ARKit يعالج ما يصل إلى 500 نقطة مميزة لكل إطار، ويمكن أن يصل قطر خريطة البيئة (ARWorldMap) إلى 100 متر. يستغرق مسح البيئة وبناء الخريطة حوالي 2–3 ثوانٍ بعد بدء الجلسة — خلال هذا الوقت يقوم ARKit بتجميع البيانات من الكاميرا وأجهزة الاستشعار.

ARAnchor ووضع الكائنات

ARAnchor هو كائن رئيسي لوضع المحتوى. عندما يتعرف ARKit على مستوى، يقوم بإنشاء ARPlaneAnchor يحدد موضع وحجم واتجاه السطح. يستجيب المطور للمفوض session(_:didAdd:) ويضع الكائن ثلاثي الأبعاد في موقع المستوى المكتشف باستخدام SceneKit أو RealityKit.

لتنفيذ سحب الكائنات، يتم استخدام ARHitTestResult: عند لمس الشاشة، يتم إجراء اختبار التقاطع عبر إطار ARKit، والذي يعيد نقطة تقاطع الشعاع مع المستويات المعترف بها. يتم تحويل النقطة التي تم العثور عليها إلى ARAnchor، ويتم تثبيت الكائن في هذا الموضع.

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

ARKit يوفر مجموعة من التقنيات التي تجعل الواقع المعزز واقعيًا وعمليًا: تتبع الحركة بست درجات من الحرية، وفهم المشهد من خلال التعرف على المستويات والحدود، وتقدير الإضاءة للظلال الصحيحة، وإخفاء الأشخاص، والأسطح العاكسة بناءً على خرائط البيئة.

التقاط الحركة (ARKit 3+) — تقنية تتبع جسم الإنسان في الوقت الفعلي من خلال الكاميرا. تتيح تحريك الشخصيات بحركات المستخدم بدون أجهزة استشعار خارجية: يتم التعرف على 18 مفصلًا بتردد 60 هرتز. تُستخدم في تطبيقات اللياقة البدنية ونمذجة الرسوم المتحركة.

جلسات AR المشتركة (ARKit 2+) تسمح لعدة أجهزة برؤية نفس الكائنات الافتراضية في مساحة مشتركة. ARWorldMap يحفظ خريطة البيئة، والتي يتم نقلها إلى الأجهزة الأخرى عبر الشبكة. تستشهد Apple بمثال دقة المزامنة: جهازا iPhone 12 Pro في نفس الغرفة يريان الكائن بانحراف لا يتجاوز 2 سنتيمتر.

العمل مع LiDAR

ماسح LiDAR، المدمج في iPhone 12 Pro والأحدث، يغير بشكل جذري قدرات ARKit. بدلاً من تحديد العمق القائم على البرامج من خلال تحليل الصور، يوفر LiDAR على الفور خريطة عمق بدقة تصل إلى 3 سنتيمترات في نطاق يصل إلى 5 أمتار. يتيح ذلك لـ ARKit التعرف على المستويات فورًا، دون مسح أولي بالكاميرا.

باستخدام LiDAR، يمكن لـ ARKit تحديد إخفاء الكائنات: يمكن إخفاء كائن افتراضي خلف كرسي أو طاولة حقيقي. بالإضافة إلى ذلك، تقوم Scene Reconstruction ببناء شبكة ثلاثية الأبعاد للبيئة في الوقت الفعلي — تصل إلى 10 ملايين مضلع لكل غرفة، تُستخدم لمحاكاة فيزياء التصادم والإضاءة الواقعية.

swift
// تكوين LiDAR
let lidarConfig = ARWorldTrackingConfiguration()
lidarConfig.planeDetection = [.horizontal]
lidarConfig.sceneReconstruction = .mesh

arView.session.run(lidarConfig)

// كشف النقر على المستوى
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 في التطبيق

يبدأ دمج ARKit بالحد الأدنى من المتطلبات: Xcode 15+، SDK iOS 17، جهاز برقاقة A12 Bionic أو أحدث. يجب إضافة مفتاح NSCameraUsageDescription في Info.plist — يستخدم ARKit الكاميرا للتتبع وعرض مشهد AR. بدون هذا المفتاح، سيتعطل التطبيق عند بدء جلسة AR.

لعرض المحتوى، يقدم iOS ثلاثة أطر عمل: SceneKit للرسومات ثلاثية الأبعاد متوسطة التعقيد، RealityKit للعرض الفوتوغرافي الواقعي بمواد PBR، وMetal للأداء الأقصى. RealityKit هو الخيار الموصى به للمشاريع الجديدة لأنه يتضمن دعمًا مدمجًا لميزات ARKit والرسوم المتحركة والفيزياء.

وفقًا لـ Apple، متوسط الوقت لدمج شاشة AR أساسية في تطبيق موجود هو حوالي ساعتين لمطور iOS متمرس. تنشأ الصعوبات الرئيسية عند العمل مع تراكب عناصر واجهة المستخدم على مشهد AR ومعالجة انقطاعات جلسة AR — المكالمات، تبديل التطبيقات، أو فقدان التتبع في الإضاءة المنخفضة.

معالجة الأخطاء والأعطال

قد يفقد ARKit التتبع في عدة حالات: إضاءة غير كافية (أقل من 100 لوكس)، عدم وجود نقاط مميزة (جدران أحادية اللون)، حركات كاميرا سريعة، أو انسداد العدسة. يوفر ARSessionDelegate طرقًا لمعالجة هذه الحالات — يوصى بعرض تلميحات للمستخدم: «حرك الجهاز بشكل أبطأ» أو «شغّل الضوء.»

للاسترداد بعد العطل، يبدأ ARKit تلقائيًا إعادة التموضع — يحاول مطابقة تدفق الفيديو الحالي مع خريطة البيئة المحفوظة. إذا كانت إعادة التموضع غير ممكنة، يتم إعادة تشغيل الجلسة بتكوين جديد. يوصى بحفظ ARWorldMap عند الخروج من التطبيق لاستعادة سريعة لمشهد AR عند العودة.

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("تمت مقاطعة الجلسة")
    }
}

الأسئلة الشائعة

على أي الأجهزة يعمل ARKit؟

يعمل ARKit على أجهزة Apple المزودة برقاقة A12 Bionic وأحدث: iPhone XS، XR، 11، 12، 13، 14، 15، 16 وSE (الجيل الثاني والثالث)، iPad Pro 2018+، iPad Air 2020+، iPad mini 2021+. تتطلب ميزات LiDAR iPhone 12 Pro/Pro Max، iPhone 13 Pro/Pro Max، iPhone 14 Pro/Pro Max، iPhone 15 Pro/Pro Max وiPad Pro 2020+.

هل يمكن استخدام ARKit بدون SceneKit أو RealityKit؟

نعم، يمكن استخدام ARKit مع Metal مباشرة، لكن هذا يتطلب كتابة shaders وعرض مخصصين. SceneKit وRealityKit يقدمان حلولاً جاهزة مع تكامل ARKit على مستوى الإطار. للمبتدئين، RealityKit هو الخيار الأمثل لأنه يعالج تلقائيًا وظائف ARKit.

كيف يعالج ARKit تغيرات الإضاءة؟

يقوم ARKit تلقائيًا بتقييم إضاءة المشهد من خلال الكاميرا ويوفر بيانات حول اتجاه وشدة ودرجة حرارة لون مصدر الضوء عبر AREnvironmentProbeAnchor. يتيح ذلك للكائنات الافتراضية إسقاط الظلال بشكل صحيح وعكس البيئة، مما يخلق اندماجًا واقعيًا مع العالم الحقيقي.

ما الفرق بين ARKit وARCore؟

ARKit يعمل فقط على iOS ويستخدم Visual-Inertial Odometry للتتبع، بينما يعمل ARCore من Google على Android ويستخدم Motion Tracking الخاص به استنادًا إلى IMU والكاميرا. يتمتع ARKit بميزة بفضل التكامل المادي مع رقائق Apple، بينما يقدم ARCore إمكانيات عبر المنصات من خلال Cloud Anchors.

هل يمكن استخدام ARKit لإنشاء الألعاب؟

نعم، ARKit مثالي لألعاب AR. يدعم SceneKit وRealityKit الفيزياء (SCNPhysicsBody، PhysicsSimulation)، والرسوم المتحركة، والصوت، والجسيمات. تشمل الأمثلة المعروفة Pokémon GO (يستخدم محركه الخاص مع ARKit)، Angry Birds AR وLego AR Studio. يدعم ARKit أيضًا جلسات متعددة اللاعبين عبر ARWorldMap.

الخلاصة

  • ARKit — إطار عمل الواقع المعزز من Apple استنادًا إلى Visual-Inertial Odometry من 2017.
  • 6 درجات من الحرية — تتبع دقيق لموضع الجهاز في الفضاء ثلاثي الأبعاد.
  • SceneKit وRealityKit — إطاران لعرض محتوى AR بمستويات تعقيد مختلفة.
  • LiDAR يوفر تحديدًا فوريًا للعمق وإعادة بناء البيئة على أجهزة Pro.
  • الجلسات المشتركة تسمح لعدة مستخدمين برؤية نفس كائنات AR.
  • التقاط الحركة يتتبع 18 مفصلًا في الجسم لتحريك الشخصيات في الوقت الفعلي.

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا