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 — คลาสหลักสำหรับเรอร์เดอร์เนื้อหา 3D โดยอาศัย 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 และการตรวจจับวัตถุ 3D; ARKit 3.0 — การติดตามร่างกายมนุษย์ การแยกผู้คน และกล้องหน้าและหลังพร้อมกัน

ARKit 4.0 เปิดตัว เครื่องสแกน LiDAR สำหรับการกำหนดความลึกและการบดบังวัตถุทันที พร้อมทั้ง Location Anchor สำหรับการเชื่อมโยงเนื้อหา AR กับพิกัด GPS ARKit 6 เพิ่มวิดีโอ 4K แบบ HDR, Plane Estimation โดยใช้ 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:) และวางวัตถุ 3D ในตำแหน่งของระนาบที่ตรวจพบโดยใช้ SceneKit หรือ RealityKit

สำหรับการเพิ่มความสามารถในการ ลาก วัตถุ จะใช้ ARHitTestResult: เมื่อสัมผัสหน้าจอ จะมีการทดสอบแบบ hit-test ผ่านเฟรม 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 มอบชุดเทคโนโลยีที่ทำให้ความจริงเสริมมีความสมจริงและทำงานได้: การติดตามการเคลื่อนไหวด้วย 6 ระดับอิสระภาพ, ความเข้าใจฉากผ่านการระบุระนาบระนาบและขอบเขต, การประมาณแสงสำหรับการใส่เงาที่ถูกต้อง, การบดบังผู้คน และพื้นผิวสะท้อนแสงโดยอาศัยแผนที่สภาพแวดล้อม

การจับการเคลื่อนไหว (ARKit 3+) — เทคโนโลยีในการติดตามร่างกายมนุษย์แบบรีาลไทมผ่านกล้อง ช่วยให้สามารถเคลื่อนไหวตัวละครด้วยการเคลื่อนไหวของผู้ใช้โดยไม่ต้องใช้เซนเซอร์ภายนอก: ระบุข้อต่อ 18 ข้อง่ายที่ 60 Hz ใช้ในแอฝิตเนส และการสร้างต้นแบบแอนิเมชัน

เซสชัน AR ที่แบ่งปัน (ARKit 2+) ช่วยให้อุปกรณ์หลายเครื่องสามารถเห็นวัตถุเสมือนชนิดเดียวกันในพื้นที่ที่แบ่งปัน ARWorldMap จะบันทึกแผนที่สภาพแวดล้อมซึ่งจะถูกส่งต่อไปยังอุปกรณ์อื่นๆ ผ่านเครือข่าย Apple อ้างตัวอย่างความแม่นยำในการซิงโครไนซ์: iPhone 12 Pro สองเครื่องในห้องเดียวกันเห็นวัตถุโดยมี ความเคลื่อนเพียงไม่เกิน 2 เซนติเมตร

การทำงานกับ LiDAR

เครื่องสแกน LiDAR ที่ติดตั้งใน iPhone 12 Pro และรุ่นใหม่ขึ้นไป เปลี่ยนแปลงความสามารถของ ARKit อย่างสิ้นเชิง แทนที่จะกำหนดความลึกโดยซอฟต์แวร์ผ่านการวิเคราะห์ภาพ LiDAR จะให้แผนที่ความลึกทันทีด้วยความแม่นยำสูงถึง 3 เซนติเมตรในระยะไกลสูงถึง 5 เมตร ซึ่งช่วยให้ ARKit สามารถระบุระนาบระนาบได้ทันทีโดยไม่ต้องสแกนกล้องล่วงหน้า

ด้วย LiDAR, ARKit สามารถกำหนดการ บดบัง ของวัตถุ: วัตถุเสมือนสามารถซ่อนอยู่หลังเก้าอี้หรือโต๊ะจริง นอกจากนี้ Scene Reconstruction จะสร้างเมช 3D ของสภาพแวดล้อมแบบรีาลไทม์ — มากถึง 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+, iOS 17 SDK, อุปกรณ์ที่มีชิป A12 Bionic หรือใหม่กว่า ต้องเพิ่มคีย์ NSCameraUsageDescription ใน Info.plist — ARKit ใช้กล้องสำหรับการติดตามและแสดงฉาก AR หากไม่มีคีย์นี้ แอปจะคราชเมื่อเริ่มเซสชัน AR

สำหรับการเรอร์เดอร์เนื้อหา iOS มีสามเฟรามเวิร์ก: SceneKit สำหรับกราฟิก 3D ระดับความซับซ้อนปานกลาง, RealityKit สำหรับการเรอร์เดอร์แบบสมจริงด้วยวัสดุ PBR และ Metal สำหรับประสิทธิภาพสูงสุด RealityKit เป็นตัวเลือกที่แนะนำสำหรับโปรเจกใหม่ เพราะมันมีการสนับสนุนในตัวสำหรับคุณสมบัติ ARKit, แอนิเมชัน และฟิสิกส์

ตามข้อมูลจาก Apple เวลาโดยเฉลี่ย ในการผนวกหน้าจอ AR พื้นฐานเข้ากับแอปที่มีอยู่แล้วใช้เวลาประมาณ 2 ชั่วโมง สำหรับนักพัฒนา iOS ที่มีประสบการณ์ ปัญหาหลักเกิดขึ้นเมื่อทำงานกับการซ้อนทับองค์ประกอบ UI บนฉาก 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 (รุ่นที่ 2 และ 3), 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 แต่ต้องเขียนเชยเดอร์และการเรอร์เดอร์แบบกำหนดเอง 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 ชนิดเดียวกัน
  • Motion Capture ติดตามข้อต่อ 18 ข้อง่ายของร่างกายสำหรับแอนิเมชันตัวละครแบบรีาลไทม์

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม