ARKit — définition, concepts clés et technologie AR

Auteur : IT Sectr Publié le : 2026-03-25 Temps de lecture : 8 min

Le framework ARKit est la plateforme de réalité augmentée d'Apple qui permet aux développeurs de créer des applications AR pour iOS sans connaissances approfondies en vision par ordinateur. Selon Apple ARKit Documentation, 2025, le framework utilise Visual-Inertial Odometry pour un suivi précis de la position de l'appareil dans l'espace sans marqueurs externes. La compréhension sémantique de la scène permet de reconnaître les plans horizontaux et verticaux, de déterminer l'éclairage et de placer des objets virtuels dans l'environnement réel.

Points clés

  • ARKit — le framework de réalité augmentée d'Apple pour iOS, présenté en 2017 avec iOS 11.
  • Motion Tracking — technologie de suivi de la position de l'appareil dans l'espace sans balises externes.
  • Scene Understanding — reconnaissance des plans, des limites et des objets dans l'environnement réel de l'utilisateur.
  • ARAnchor — un objet qui fixe la position du contenu virtuel dans la scène réelle.
  • ARSCNView — la classe principale pour le rendu de contenu 3D basé sur SceneKit.

Qu'est-ce qu'ARKit ?

ARKit est le framework de réalité augmentée d'Apple, annoncé à la WWDC 2017 avec iOS 11. Il combine les capacités de l'appareil photo, le coprocesseur de mouvement de la série M et le moteur neuronal des puces A pour offrir une expérience AR immersive sans nécessiter de matériel spécialisé — seulement un iPhone ou un iPad.

ARKit utilise Visual-Inertial Odometry (VIO), qui combine les données de la caméra et des capteurs inertiels Core Motion pour suivre avec précision le mouvement de l'appareil dans l'espace. VIO permet au framework de comprendre où se trouve l'appareil par rapport à son environnement sans utiliser le GPS ni de marqueurs externes.

Selon Apple WWDC 2024, ARKit 6 est pris en charge sur les appareils avec puce A12 et plus récents (iPhone XS, iPad Pro 2018+). Le nombre d'applications AR sur l'App Store a dépassé les 15 000, et la superficie totale des plans reconnus dans toutes les sessions AR dépasse les 100 milliards de mètres carrés.

Évolution d'ARKit

Au cours de six versions, ARKit a reçu des améliorations significatives : ARKit 1.0 (iOS 11) — suivi de base et reconnaissance des plans ; ARKit 2.0 — sessions AR partagées via ARWorldMap et détection d'objets 3D ; ARKit 3.0 — suivi du corps humain, segmentation des personnes et caméras avant et arrière simultanées.

ARKit 4.0 a introduit le scanner LiDAR pour la détermination instantanée de la profondeur et de l'occlusion des objets, ainsi que Location Anchor pour lier le contenu AR aux coordonnées GPS. ARKit 6 a ajouté la vidéo 4K avec HDR, Plane Estimation utilisant LiDAR et une meilleure gestion de l'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)

Comment fonctionne ARKit

ARKit fonctionne via une boucle de session AR, qui démarre avec une configuration et analyse en continu le flux vidéo de la caméra. À chaque image, le framework calcule la position de l'appareil (6 degrés de liberté), met à jour la carte des plans reconnus et ajuste les positions des objets virtuels — le tout à 60 images par seconde.

Le processus VIO se compose de deux pipelines parallèles : l'algorithme d'odométrie visuelle suit le mouvement des points caractéristiques entre les images, tandis que les capteurs inertiels Core Motion prédisent le mouvement sur de courts intervalles lorsque la caméra se déplace rapidement ou que l'image est floue. La combinaison des deux méthodes offre une précision de suivi allant jusqu'à 1 centimètre.

Selon Apple, ARKit traite jusqu'à 500 points caractéristiques par image, et la carte de l'environnement (ARWorldMap) peut atteindre jusqu'à 100 mètres de diamètre. Le balayage de l'environnement et la construction de la carte prennent environ 2–3 secondes après le démarrage de la session — pendant ce temps, ARKit accumule les données de la caméra et des capteurs.

ARAnchor et placement d'objets

ARAnchor est un objet clé pour placer du contenu. Lorsqu'ARKit reconnaît un plan, il crée un ARPlaneAnchor spécifiant la position, la taille et l'orientation de la surface. Le développeur répond au délégué session(_:didAdd:) et place l'objet 3D à l'emplacement du plan détecté en utilisant SceneKit ou RealityKit.

Pour implémenter le glissement d'objets, ARHitTestResult est utilisé : lors d'un toucher sur l'écran, un hit-test est effectué à travers l'image ARKit, qui retourne le point d'intersection du rayon avec les plans reconnus. Le point trouvé est converti en ARAnchor, et l'objet est fixé à cette position.

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

Fonctionnalités clés d'ARKit

ARKit fournit un ensemble de technologies qui rendent la réalité augmentée réaliste et fonctionnelle : suivi de mouvement à 6 degrés de liberté, compréhension de la scène par reconnaissance de plans et de limites, estimation de l'éclairage pour un ombrage correct, occlusion des personnes et surfaces réfléchissantes basées sur des cartes d'environnement.

Motion Capture (ARKit 3+) — technologie de suivi du corps humain en temps réel via la caméra. Permet d'animer des personnages avec les mouvements de l'utilisateur sans capteurs externes : 18 articulations sont reconnues à 60 Hz. Utilisé dans les applications de fitness et le prototypage d'animations.

Les sessions AR partagées (ARKit 2+) permettent à plusieurs appareils de voir les mêmes objets virtuels dans un espace partagé. ARWorldMap enregistre la carte de l'environnement, qui est transmise aux autres appareils via le réseau. Apple cite un exemple de précision de synchronisation : deux iPhone 12 Pro dans la même pièce voient l'objet avec un écart de 2 centimètres maximum.

Travail avec LiDAR

Le scanner LiDAR, intégré au iPhone 12 Pro et aux modèles plus récents, change radicalement les capacités d'ARKit. Au lieu de la détermination logicielle de la profondeur par analyse d'image, LiDAR fournit instantanément une carte de profondeur avec une précision allant jusqu'à 3 centimètres dans une portée allant jusqu'à 5 mètres. Cela permet à ARKit de reconnaître les plans instantanément, sans balayage préalable de la caméra.

Avec LiDAR, ARKit peut déterminer l'occlusion d'objets : un objet virtuel peut être caché derrière une chaise ou une table réelle. De plus, Scene Reconstruction construit un maillage 3D de l'environnement en temps réel — jusqu'à 10 millions de polygones par pièce, utilisé pour la simulation physique des collisions et l'éclairage réaliste.

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

arView.session.run(lidarConfig)

// Détection du toucher sur plan
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
        )
}

Intégration d'ARKit dans une application

L'intégration d'ARKit commence par des exigences minimales : Xcode 15+, SDK iOS 17, un appareil avec puce A12 Bionic ou plus récent. La clé NSCameraUsageDescription doit être ajoutée dans Info.plist — ARKit utilise la caméra pour le suivi et l'affichage de la scène AR. Sans cette clé, l'application plantera au démarrage d'une session AR.

Pour le rendu de contenu, iOS propose trois frameworks : SceneKit pour les graphiques 3D de complexité moyenne, RealityKit pour le rendu photoréaliste avec des matériaux PBR et Metal pour des performances maximales. RealityKit est le choix recommandé pour les nouveaux projets car il inclut une prise en charge intégrée des fonctionnalités ARKit, de l'animation et de la physique.

Selon Apple, le temps moyen d'intégration d'un écran AR de base dans une application existante est d'environ 2 heures pour un développeur iOS expérimenté. Les principales difficultés surviennent lors du travail avec la superposition d'éléments d'interface sur la scène AR et lors de la gestion des interruptions de session AR — appels, changement d'application ou perte de suivi en faible luminosité.

Gestion des erreurs et des échecs

ARKit peut perdre le suivi dans plusieurs situations : éclairage insuffisant (moins de 100 lux), absence de points caractéristiques (murs unis), mouvements rapides de la caméra ou obstruction de l'objectif. ARSessionDelegate fournit des méthodes pour gérer ces états — il est recommandé d'afficher des conseils à l'utilisateur : « Déplacez l'appareil plus lentement » ou « Allumez la lumière. »

Pour la récupération après un échec, ARKit démarre automatiquement la relocalisation — il tente de faire correspondre le flux vidéo actuel avec la carte d'environnement enregistrée. Si la relocalisation n'est pas possible, la session redémarre avec une nouvelle configuration. Il est recommandé de sauvegarder ARWorldMap lors de la sortie de l'application pour une restauration rapide de la scène AR au retour.

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("Session interrompue")
    }
}

Foire aux questions

Sur quels appareils ARKit fonctionne-t-il ?

ARKit fonctionne sur les appareils Apple avec puce A12 Bionic et plus récents : iPhone XS, XR, 11, 12, 13, 14, 15, 16 et SE (2e et 3e génération), iPad Pro 2018+, iPad Air 2020+, iPad mini 2021+. Les fonctionnalités LiDAR nécessitent iPhone 12 Pro/Pro Max, iPhone 13 Pro/Pro Max, iPhone 14 Pro/Pro Max, iPhone 15 Pro/Pro Max et iPad Pro 2020+.

Peut-on utiliser ARKit sans SceneKit ou RealityKit ?

Oui, ARKit peut être utilisé directement avec Metal, mais cela nécessite d'écrire des shaders et un rendu personnalisés. SceneKit et RealityKit fournissent des solutions prêtes à l'emploi avec une intégration ARKit au niveau du framework. Pour les débutants, RealityKit est le choix optimal car il gère automatiquement les fonctions ARKit.

Comment ARKit gère-t-il les changements d'éclairage ?

ARKit évalue automatiquement l'éclairage de la scène via la caméra et fournit des données sur la direction, l'intensité et la température de couleur de la source lumineuse via AREnvironmentProbeAnchor. Cela permet aux objets virtuels de projeter correctement des ombres et de réfléchir l'environnement, créant une fusion réaliste avec le monde réel.

Quelle est la différence entre ARKit et ARCore ?

ARKit fonctionne uniquement sur iOS et utilise Visual-Inertial Odometry pour le suivi, tandis qu'ARCore de Google fonctionne sur Android et utilise son propre Motion Tracking basé sur IMU et caméra. ARKit a l'avantage grâce à l'intégration matérielle avec les puces Apple, tandis qu'ARCore offre des capacités multiplateformes via Cloud Anchors.

ARKit peut-il être utilisé pour créer des jeux ?

Oui, ARKit est idéal pour les jeux AR. SceneKit et RealityKit prennent en charge la physique (SCNPhysicsBody, PhysicsSimulation), l'animation, le son et les particules. Des exemples connus incluent Pokémon GO (utilise son propre moteur avec ARKit), Angry Birds AR et Lego AR Studio. ARKit prend également en charge les sessions multijoueurs via ARWorldMap.

Résumé

  • ARKit — le framework de réalité augmentée d'Apple basé sur Visual-Inertial Odometry de 2017.
  • 6 degrés de liberté — suivi précis de la position de l'appareil dans l'espace tridimensionnel.
  • SceneKit et RealityKit — deux frameworks pour le rendu de contenu AR avec différents niveaux de complexité.
  • LiDAR fournit une détermination instantanée de la profondeur et une reconstruction de l'environnement sur les appareils Pro.
  • Les sessions partagées permettent à plusieurs utilisateurs de voir les mêmes objets AR.
  • Motion Capture suit 18 articulations du corps pour l'animation de personnages en temps réel.

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi