ARKit — o que é, conceitos-chave e tecnologia AR

Autor: IT Sectr Publicado: 2026-03-25 Tempo de leitura: 8 min

O framework ARKit é a plataforma de realidade aumentada da Apple que permite aos desenvolvedores criar aplicativos AR para iOS sem conhecimento profundo de visão computacional. De acordo com Apple ARKit Documentation, 2025, o framework usa Visual-Inertial Odometry para rastreamento preciso da posição do dispositivo no espaço sem marcadores externos. A compreensão semântica da cena permite reconhecer planos horizontais e verticais, determinar a iluminação e colocar objetos virtuais no ambiente real.

Pontos principais

  • ARKit — o framework de realidade aumentada da Apple para iOS, apresentado em 2017 com o iOS 11.
  • Motion Tracking — tecnologia para rastrear a posição do dispositivo no espaço sem balizas externas.
  • Scene Understanding — reconhecimento de planos, limites e objetos no ambiente real do usuário.
  • ARAnchor — um objeto que fixa a posição do conteúdo virtual na cena real.
  • ARSCNView — a classe principal para renderizar conteúdo 3D baseado em SceneKit.

O que é ARKit?

ARKit é o framework de realidade aumentada da Apple, anunciado na WWDC 2017 junto com o iOS 11. Ele combina as capacidades da câmera, o coprocessador de movimento da série M e o motor neural dos chips A para oferecer uma experiência AR imersiva sem necessidade de hardware especializado — apenas um iPhone ou iPad.

O ARKit usa Visual-Inertial Odometry (VIO), que combina dados da câmera e sensores inerciais do Core Motion para rastrear com precisão o movimento do dispositivo no espaço. O VIO permite que o framework entenda onde o dispositivo está em relação ao seu ambiente sem usar GPS ou marcadores externos.

De acordo com a Apple WWDC 2024, o ARKit 6 é suportado em dispositivos com chip A12 e posteriores (iPhone XS, iPad Pro 2018+). O número de aplicativos AR na App Store ultrapassou 15.000, e a área total de planos reconhecidos em todas as sessões AR excede 100 bilhões de metros quadrados.

Evolução do ARKit

Ao longo de seis versões, o ARKit recebeu melhorias significativas: ARKit 1.0 (iOS 11) — rastreamento básico e reconhecimento de planos; ARKit 2.0 — sessões AR compartilhadas via ARWorldMap e detecção de objetos 3D; ARKit 3.0 — rastreamento do corpo humano, segmentação de pessoas e câmeras frontal e traseira simultâneas.

O ARKit 4.0 introduziu o Scanner LiDAR para determinação instantânea de profundidade e oclusão de objetos, além do Location Anchor para vincular conteúdo AR a coordenadas GPS. O ARKit 6 adicionou vídeo 4K com HDR, Plane Estimation usando LiDAR e melhor gerenciamento de oclusão.

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)

Como o ARKit funciona

ARKit opera através de um loop de sessão AR, que inicia com uma configuração e analisa continuamente o fluxo de vídeo da câmera. A cada quadro, o framework calcula a posição do dispositivo (6 graus de liberdade), atualiza o mapa de planos reconhecidos e ajusta as posições dos objetos virtuais — tudo a 60 quadros por segundo.

O processo VIO consiste em dois pipelines paralelos: o algoritmo de odometria visual rastreia o movimento dos pontos de característica entre os quadros, enquanto os sensores inerciais do Core Motion preveem o movimento em intervalos curtos quando a câmera se move rapidamente ou a imagem está borrada. A combinação dos dois métodos proporciona precisão de rastreamento de até 1 centímetro.

Segundo a Apple, o ARKit processa até 500 pontos de característica por quadro, e o mapa do ambiente (ARWorldMap) pode atingir até 100 metros de diâmetro. A digitalização do ambiente e a construção do mapa levam cerca de 2–3 segundos após o início da sessão — durante esse tempo, o ARKit acumula dados da câmera e dos sensores.

ARAnchor e posicionamento de objetos

ARAnchor é um objeto chave para posicionar conteúdo. Quando o ARKit reconhece um plano, ele cria um ARPlaneAnchor especificando a posição, o tamanho e a orientação da superfície. O desenvolvedor responde ao delegate session(_:didAdd:) e coloca o objeto 3D no local do plano detectado usando SceneKit ou RealityKit.

Para implementar o arraste de objetos, usa-se ARHitTestResult: ao tocar na tela, um hit-test é realizado através do quadro do ARKit, que retorna o ponto de interseção do raio com os planos reconhecidos. O ponto encontrado é convertido em um ARAnchor, e o objeto é fixado nessa posição.

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

Principais recursos do ARKit

ARKit fornece um conjunto de tecnologias que tornam a realidade aumentada realista e funcional: rastreamento de movimento com 6 graus de liberdade, compreensão da cena através do reconhecimento de planos e limites, estimativa de iluminação para sombreamento correto, oclusão de pessoas e superfícies reflexivas baseadas em mapas do ambiente.

Motion Capture (ARKit 3+) — tecnologia para rastrear o corpo humano em tempo real através da câmera. Permite animar personagens com os movimentos do usuário sem sensores externos: 18 articulações são reconhecidas a 60 Hz. Usado em aplicativos de fitness e prototipagem de animação.

Sessões AR compartilhadas (ARKit 2+) permitem que vários dispositivos vejam os mesmos objetos virtuais em um espaço compartilhado. O ARWorldMap salva o mapa do ambiente, que é transmitido para outros dispositivos pela rede. A Apple cita um exemplo de precisão de sincronização: dois iPhones 12 Pro na mesma sala veem o objeto com um desvio de não mais de 2 centímetros.

Trabalhando com LiDAR

O scanner LiDAR, integrado ao iPhone 12 Pro e posteriores, muda drasticamente as capacidades do ARKit. Em vez da determinação de profundidade baseada em software através de análise de imagem, o LiDAR fornece instantaneamente um mapa de profundidade com precisão de até 3 centímetros em um alcance de até 5 metros. Isso permite que o ARKit reconheça planos instantaneamente, sem digitalização prévia da câmera.

Com o LiDAR, o ARKit pode determinar a oclusão de objetos: um objeto virtual pode ser ocultado atrás de uma cadeira ou mesa real. Além disso, a Scene Reconstruction constrói uma malha 3D do ambiente em tempo real — até 10 milhões de polígonos por sala, usada para simulação de física de colisões e iluminação realista.

swift
// Configuração para LiDAR
let lidarConfig = ARWorldTrackingConfiguration()
lidarConfig.planeDetection = [.horizontal]
lidarConfig.sceneReconstruction = .mesh

arView.session.run(lidarConfig)

// Detecção de toque no plano
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
        )
}

Integração do ARKit em um aplicativo

A integração do ARKit começa com requisitos mínimos: Xcode 15+, SDK do iOS 17, um dispositivo com chip A12 Bionic ou superior. A chave NSCameraUsageDescription deve ser adicionada ao Info.plist — o ARKit usa a câmera para rastreamento e exibição da cena AR. Sem essa chave, o aplicativo travará ao iniciar uma sessão AR.

Para renderização de conteúdo, o iOS oferece três frameworks: SceneKit para gráficos 3D de complexidade média, RealityKit para renderização fotorrealista com materiais PBR e Metal para máximo desempenho. O RealityKit é a escolha recomendada para novos projetos, pois inclui suporte integrado para recursos do ARKit, animação e física.

Segundo a Apple, o tempo médio para integrar uma tela AR básica em um aplicativo existente é de cerca de 2 horas para um desenvolvedor iOS experiente. As principais dificuldades surgem ao trabalhar com sobreposição de elementos de UI na cena AR e ao lidar com interrupções da sessão AR — chamadas, troca de aplicativos ou perda de rastreamento com pouca luz.

Tratamento de erros e falhas

O ARKit pode perder o rastreamento em várias situações: iluminação insuficiente (menos de 100 lux), falta de pontos de característica (paredes monocromáticas), movimentos rápidos da câmera ou obstrução da lente. O ARSessionDelegate fornece métodos para lidar com esses estados — recomenda-se mostrar dicas ao usuário: “Movimente o dispositivo mais devagar” ou “Ligue a luz.”

Para recuperação após uma falha, o ARKit inicia automaticamente a relocalização — ele tenta corresponder o fluxo de vídeo atual com o mapa do ambiente salvo. Se a relocalização não for possível, a sessão é reiniciada com uma nova configuração. Recomenda-se salvar o ARWorldMap ao sair do aplicativo para rápida restauração da cena AR ao retornar.

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("Sessão interrompida")
    }
}

Perguntas frequentes

Em quais dispositivos o ARKit funciona?

O ARKit funciona em dispositivos Apple com chip A12 Bionic e posteriores: iPhone XS, XR, 11, 12, 13, 14, 15, 16 e SE (2ª e 3ª geração), iPad Pro 2018+, iPad Air 2020+, iPad mini 2021+. Os recursos LiDAR exigem iPhone 12 Pro/Pro Max, iPhone 13 Pro/Pro Max, iPhone 14 Pro/Pro Max, iPhone 15 Pro/Pro Max e iPad Pro 2020+.

É possível usar ARKit sem SceneKit ou RealityKit?

Sim, o ARKit pode ser usado diretamente com Metal, mas isso requer a escrita de shaders e renderização personalizados. O SceneKit e o RealityKit fornecem soluções prontas com integração do ARKit no nível do framework. Para iniciantes, o RealityKit é a melhor escolha, pois lida automaticamente com as funções do ARKit.

Como o ARKit lida com mudanças de iluminação?

O ARKit avalia automaticamente a iluminação da cena através da câmera e fornece dados sobre direção, intensidade e temperatura de cor da fonte de luz através do AREnvironmentProbeAnchor. Isso permite que objetos virtuais projetem sombras corretamente e reflitam o ambiente, criando uma fusão realista com o mundo real.

Qual a diferença entre ARKit e ARCore?

ARKit funciona apenas no iOS e usa Visual-Inertial Odometry para rastreamento, enquanto o ARCore do Google funciona no Android e usa seu próprio Motion Tracking baseado em IMU e câmera. O ARKit tem vantagem devido à integração de hardware com os chips da Apple, enquanto o ARCore oferece capacidade multiplataforma através do Cloud Anchors.

O ARKit pode ser usado para criar jogos?

Sim, o ARKit é ideal para jogos AR. O SceneKit e o RealityKit suportam física (SCNPhysicsBody, PhysicsSimulation), animação, som e partículas. Exemplos conhecidos incluem Pokémon GO (usa seu próprio motor com ARKit), Angry Birds AR e Lego AR Studio. O ARKit também oferece suporte a sessões multijogador via ARWorldMap.

Resumo

  • ARKit — o framework de realidade aumentada da Apple baseado em Visual-Inertial Odometry de 2017.
  • 6 graus de liberdade — rastreamento preciso da posição do dispositivo no espaço tridimensional.
  • SceneKit e RealityKit — dois frameworks para renderizar conteúdo AR com diferentes níveis de complexidade.
  • LiDAR fornece determinação instantânea de profundidade e reconstrução do ambiente em dispositivos Pro.
  • Sessões compartilhadas permitem que vários usuários vejam os mesmos objetos AR.
  • Motion Capture rastreia 18 articulações do corpo para animação de personagens em tempo real.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também