ARCore: คืออะไร ความสามารถ และเทคโนโลยีความจริงเสริม

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-03-25 เวลาอ่าน: 8 นาที

แพลตฟอร์ม ARCore — โซลูชันของ Google สำหรับความจริงเสริมบน Android ที่ใช้กล้องและเซ็นเซอร์เฉื่อยของสมาร์ทโฟนเพื่อติดตามตำแหน่งในพื้นที่ ตามข้อมูลจาก Google AR Developers, 2025 แพลตฟอร์มรองรับ Motion Tracking, Environmental Understanding และ Light Estimation — สามเทคโนโลยีพื้นฐานสำหรับการวางวัตถุเสมือนในสภาพแวดล้อมจริง สถาปัตยกรรมข้ามแพลตฟอร์ม ช่วยให้นักพัฒนาสร้างแอป AR สำหรับ Android, iOS, Unity และ Unreal Engine ด้วยฐานโค้ดเดียว

ประเด็นสำคัญ

  • ARCore — แพลตฟอร์มความจริงเสริมของ Google สำหรับ Android เปิดตัวในปี 2018
  • Motion Tracking — เทคโนโลยีติดตามการเคลื่อนไหวของอุปกรณ์โดยใช้ IMU และการวิเคราะห์ภาพ
  • Environmental Understanding — การรู้จำระนาบ ขอบเขต และลักษณะพื้นผิว
  • Cloud Anchors — กลไกการซิงโครไนซ์วัตถุ AR ระหว่างอุปกรณ์หลายเครื่องผ่านคลาวด์
  • ARCore SDK พร้อมใช้งานสำหรับ Android (Kotlin/Java), iOS, Unity และ Unreal Engine

ARCore คืออะไร?

ARCore คือแพลตฟอร์มความจริงเสริมของ Google ประกาศในปี 2018 ในฐานะผู้สืบทอดของ Project Tango ในรูปแบบที่เบาและเข้าถึงได้ง่ายกว่า แตกต่างจาก Tango ที่ต้องการเซ็นเซอร์ความลึกเฉพาะทาง ARCore ทำงานบนสมาร์ทโฟน Android มาตรฐานโดยใช้เพียงกล้องและเซ็นเซอร์เฉื่อย (IMU)

ARCore ใช้สามเทคโนโลยีหลัก: Motion Tracking สำหรับติดตามตำแหน่งอุปกรณ์, Environmental Understanding สำหรับตรวจจับระนาบแนวนอนและแนวตั้ง และ Light Estimation สำหรับปรับแสงของวัตถุเสมือนให้เข้ากับสภาพแวดล้อมจริง สามเทคโนโลยีนี้ช่วยให้วางวัตถุ AR ที่ดูเป็นธรรมชาติบนทุกพื้นผิว

ตามข้อมูลจาก Google I/O 2024 ARCore รองรับอุปกรณ์ Android มากกว่า 1 พันล้านเครื่อง รวมถึงสมาร์ทโฟน Samsung, Xiaomi, Huawei, OnePlus, Google Pixel และอื่นๆ แพลตฟอร์มนี้รวมเข้ากับ Google Play Services for AR ทำให้สามารถอัปเดต ARCore ผ่าน Google Play Store โดยไม่ขึ้นกับเวอร์ชัน Android

วิวัฒนาการของ ARCore

ตลอดหกเวอร์ชัน ARCore มีวิวัฒนาการที่สำคัญ: ARCore 1.0 — การติดตามพื้นฐานและการตรวจจับระนาบ; ARCore 1.2 — ระนาบแนวตั้งและ Augmented Images; ARCore 1.7 — Cloud Anchors สำหรับเซสชันผู้เล่นหลายคน; ARCore 1.10 — Augmented Faces สำหรับติดตามการแสดงออกทางสีหน้า

ARCore 1.20+ รวม Scene Semantic Understanding — การรู้จำหมวดหมู่วัตถุ (พื้น, เพดาน, ผนัง, เฟอร์นิเจอร์, ต้นไม้, ประตู) ผ่านโมเดล ML TensorFlow Lite บนอุปกรณ์ Street View Geometry API อนุญาตให้ใช้แผนที่ความลึกของ Google Street View สำหรับการนำทาง AR กลางแจ้ง

kotlin
// การเริ่มต้นเซสชัน ARCore
val session = Session(context)
val config = Config(session)
config.lightEstimationMode =
    Config.LightEstimationMode.ENVIRONMENTAL_HDR
config.planeFindingMode =
    Config.PlaneFindingMode.HORIZONTAL_AND_VERTICAL
session.configure(config)

// การประมวลผลเฟรม
val frame = session.update()
val pointCloud = frame.acquirePointCloud()
val planes = session.getAllTrackables(
    Plane::class.java
)

ARCore ทำงานอย่างไร

ARCore ใช้วิธีการแบบไฮบริด: IMU (โมดูลวัดความเฉื่อย) ทำนายตำแหน่งของอุปกรณ์ด้วยความถี่สูง (สูงถึง 1000 Hz) ในขณะที่การวัดระยะด้วยภาพ (visual odometry) แก้ไขข้อผิดพลาดโดยอาศัยการวิเคราะห์จุดเด่นจากกล้องที่ความถี่ 30–60 Hz วิธีการนี้ให้ความแม่นยำในการติดตามประมาณ 1–2 เซนติเมตรในสภาวะคงที่

กระบวนการ Environmental Understanding ทำงานในสามขั้นตอน: ขั้นแรก ARCore ค้นหา จุดเด่น ในภาพจากกล้อง จากนั้นระบุกลุ่มของจุดที่อยู่บนระนาบเดียวกันและประมาณให้เป็นรูปหลายเหลี่ยม หลังจากรู้จำระนาบ ARCore จะสร้างวัตถุ Trackable ชนิด Plane ซึ่งอัปเดตเมื่อได้รับเฟรมใหม่

ตามข้อมูลของ Google ARCore ตรวจจับระนาบขนาด 10x10 เซนติเมตรที่ระยะสูงสุด 1 เมตรจากกล้อง สำหรับห้องขนาดกลาง (20 ตารางเมตร) การสแกนระนาบทั้งหมดใช้เวลาประมาณ 2–4 วินาที เมื่อใช้ Depth API ที่รองรับเซ็นเซอร์ ToF ความแม่นยำในการรู้จำเพิ่มขึ้น 40%

Depth API และ Scene Mesh

Depth API คือเทคโนโลยี ARCore ที่สร้างแผนที่ความลึกของฉากโดยอาศัยการวิเคราะห์ภาพสเตอริโอจากกล้อง บนอุปกรณ์ที่มีเซ็นเซอร์ ToF (Time-of-Flight) แผนที่ความลึกจะได้รับทันทีด้วยความแม่นยำสูงถึง 2 ซม. บนอุปกรณ์ที่ไม่มีเซ็นเซอร์ความลึก Depth API ใช้การเรียนรู้ของเครื่องเพื่อประเมินความลึกจากเฟรมเดียว ให้ความแม่นยำประมาณ 10 ซม.

Scene Mesh คือตาข่ายสามมิติของสภาพแวดล้อมที่ ARCore สร้างแบบเรียลไทม์ ตาข่ายนี้ใช้สำหรับฟิสิกส์การชน การบดบังวัตถุเสมือน และการสร้างเงา Scene Mesh พร้อมใช้งานบนอุปกรณ์ที่มี OpenGL ES 3.1 และรองรับ Depth API สร้างรูปหลายเหลี่ยมสูงถึง 500,000 รูปต่อเฟรม

kotlin
// การรับแผนที่ความลึก
val depthImage = frame.acquireDepthImage16Bits()

// การวางวัตถุบนระนาบที่ตรวจพบ
val hitResult = frame.hitTest(x, y)
    .firstOrNull { it.trackable is Plane }

hitResult?.let { result ->
    val anchor = session.createAnchor(
        result.hitPose
    )
    val model = ModelRenderable.builder()
        .setSourceId(R.raw.my_model)
        .build()
        .exceptionally { null }

    AnchorNode(anchor).apply {
        this.renderable = model.get()
    }
}

ARCore และ ARKit: เปรียบเทียบ

แม้ว่า ARCore และ ARKit จะแก้ไขงานเดียวกัน — การติดตามตำแหน่ง การตรวจจับระนาบ และการประเมินแสง — แต่วิธีการและระบบนิเวศของพวกมันแตกต่างกัน ARCore ให้ความสำคัญกับความเข้ากันได้ข้ามแพลตฟอร์ม ในขณะที่ ARKit ใช้การผสานรวมอย่างลึกซึ้งกับฮาร์ดแวร์ของ Apple

ความแตกต่างหลัก: ARCore ทำงานบน Android และ iOS ผ่าน ARCore SDK ในขณะที่ ARKit ทำงานบน iOS เท่านั้น ARCore ใช้ Cloud Anchors สำหรับการซิงโครไนซ์ผ่าน Firebase ในขณะที่ ARKit ใช้ ARWorldMap สำหรับการแลกเปลี่ยนโดยตรงระหว่างอุปกรณ์ ARCore กับ Depth API รองรับเซ็นเซอร์ ToF ในขณะที่ ARKit กับ LiDAR ให้การสแกนด้วยเลเซอร์ที่มีความแม่นยำสูงถึง 3 ซม.

จากการทดสอบเปรียบเทียบของ Google 2024 ความแม่นยำในการติดตามของ ARCore บนอุปกรณ์ที่มี ไจโรสโคปและเซ็นเซอร์ ToF เทียบได้กับ ARKit บน iPhone ที่มี LiDAR — ข้อผิดพลาดไม่เกิน 2 ซม. ที่ระยะ 2 เมตร บนอุปกรณ์ที่ไม่มี ToF ARCore ช้ากว่า ARKit ในด้านความเร็วเริ่มต้น: 3 วินาทีเทียบกับ 0.5 วินาที

การเลือกระหว่าง ARCore และ ARKit ขึ้นอยู่กับกลุ่มเป้าหมาย: หากแอปมีไว้สำหรับ iOS เท่านั้น ARKit ให้ประสิทธิภาพที่ดีกว่าและการเข้าถึงฟีเจอร์ LiDAR สุดพิเศษ หากต้องการรองรับทั้งสองแพลตฟอร์ม ARCore กับ ArcoreiOS SDK ช่วยให้ใช้ฐานโค้ดเดียวที่มีความแตกต่างระหว่างแพลตฟอร์มน้อยที่สุด แม้จะสูญเสียความสามารถด้านฮาร์ดแวร์เฉพาะบางอย่างของแต่ละแพลตฟอร์ม

คุณลักษณะARCoreARKit
แพลตฟอร์มAndroid + iOS + Unity/UnrealiOS เท่านั้น
เซ็นเซอร์ความลึกToF (เลือกได้)LiDAR (รุ่น Pro)
การซิงโครไนซ์Cloud Anchors (Firebase)ARWorldMap (Multipeer)
การติดตามใบหน้าAugmented FacesFace Tracking (TrueDepth)
ความแม่นยำ VIO1–3 ซม.0.5–1 ซม.

การรวม ARCore เข้ากับแอปพลิเคชัน

การรวม ARCore เริ่มต้นด้วย การเพิ่มการพึ่งพา Google Play Services for AR ใน build.gradle: com.google.ar:core แอปควรตรวจสอบความพร้อมของ ARCore บนอุปกรณ์ผ่าน ArCoreApk.checkAvailability() — หากไม่ได้ติดตั้ง ARCore ให้แจ้งให้ผู้ใช้ติดตั้งจาก Google Play Store

โปรเจกต์ ARCore พื้นฐานประกอบด้วย: การสร้าง Session และ Config การตั้งค่า SurfaceView สำหรับแสดงกล้อง การเริ่มเซสชันผ่าน session.resume() และการประมวลผลเฟรมผ่าน session.update() สำหรับการเรนเดอร์วัตถุ 3D ใช้ Sceneform SDK (ไลบรารีของ Google บนพื้นฐาน Filament) หรือ Unity/Unreal สำหรับฉากที่ซับซ้อน

Google แนะนำ Sceneform สำหรับแอป Kotlin — มีส่วนประกอบพร้อมใช้: ModelRenderable สำหรับโหลดโมเดล 3D (OBJ, glTF, FBX), ViewRenderable สำหรับฝัง Android View ในฉาก AR และ MotionEvent สำหรับจัดการการสัมผัส Sceneform จัดการวงจรชีวิตของเซสชัน AR และการปล่อยทรัพยากรโดยอัตโนมัติ

การจัดการความล้มเหลวในการติดตาม

ARCore อาจสูญเสียการติดตามเมื่อแสงไม่เพียงพอ พื้นผิวสีเดียว หรือการเคลื่อนไหวของอุปกรณ์ที่รวดเร็ว สถานะการติดตาม สามารถดูได้ผ่าน frame.getTrackingState() — ค่าที่เป็นไปได้คือ TRACKING, PAUSED และ STOPPED เมื่อเปลี่ยนเป็น PAUSED ควรหยุดการเรนเดอร์ชั่วคราวและแสดงคำแนะนำแก่ผู้ใช้: “เคลื่อนย้ายอุปกรณ์ช้าลง” หรือ “ย้ายไปยังที่ที่มีแสงสว่างมากขึ้น”

สำหรับการกู้คืนอัตโนมัติหลังจากความล้มเหลว ARCore รองรับ การระบุตำแหน่งใหม่ โดยใช้แผนที่จุดเด่นที่บันทึกไว้ นักพัฒนาสามารถบันทึกแผนที่ผ่าน session.serialize() และกู้คืนผ่าน session.deserialize() — มีประโยชน์สำหรับประสบการณ์ AR ที่ใช้งานนานซึ่งผู้ใช้กลับมายังพื้นที่ทางกายภาพเดิม การกู้คืนแผนที่ใช้เวลา 1–2 วินาที โดยมีเงื่อนไขว่าสภาพแวดล้อมไม่เปลี่ยนแปลงอย่างมีนัยสำคัญ

kotlin
class ARCoreActivity : AppCompatActivity() {

    private lateinit var session: Session

    override fun onResume() {
        super.onResume()
        when (ArCoreApk.getInstance()
            .checkAvailability(this)
        ) {
            ArCoreApk.Availability.SUPPORTED_INSTALLED -> {
                session = Session(this)
                session.resume()
            }
            else -> {
                showInstallPrompt()
            }
        }
    }
}

คำถามที่พบบ่อย

อุปกรณ์ใดบ้างที่รองรับ ARCore?

ARCore รองรับบนอุปกรณ์ Android มากกว่า 1 พันล้านเครื่อง รวมถึง Google Pixel 2+, Samsung Galaxy S7+, Xiaomi Mi 8+, Huawei P20+, OnePlus 6+, Sony Xperia XZ2+ และอื่นๆ อีกมากมาย รายการอุปกรณ์ที่ได้รับการรับรองทั้งหมดเผยแพร่บน developers.google.com/ar/devices

จำเป็นต้องใช้อินเทอร์เน็ตสำหรับ ARCore หรือไม่?

ฟังก์ชันพื้นฐานของ ARCore — Motion Tracking และ Environmental Understanding — ไม่ต้องการอินเทอร์เน็ต Cloud Anchors และ Augmented Images ที่มีการอ้างอิงคลาวด์ต้องการการเชื่อมต่อ Depth API และ Scene Mesh ทำงานบนอุปกรณ์โดยสมบูรณ์โดยไม่ต้องเชื่อมต่อเครือข่าย

สามารถสร้างแอป AR โดยไม่ใช้ Sceneform ได้หรือไม่?

ได้ ARCore สามารถใช้กับ OpenGL ES 3.1 โดยตรง กับ Unity หรือ Unreal Engine Sceneform เป็นตัวเลือกที่แนะนำสำหรับโปรเจกต์ Kotlin ง่ายๆ แต่ไม่บังคับ สำหรับฉาก 3D ที่ซับซ้อนด้วยฟิสิกส์สมจริง ควรใช้เกมเอนจินที่รองรับ ARCore SDK

ARCore ทำงานภายในอาคารและกลางแจ้งอย่างไร?

ARCore ได้รับการปรับให้เหมาะสมสำหรับพื้นที่ในร่มที่มีแสงสว่างเพียงพอ (100–500 ลักซ์) กลางแจ้งภายใต้แสงแดดจ้า ความแม่นยำในการติดตามอาจลดลงเนื่องจากกล้องรับแสงมากเกินไป สำหรับการใช้งานกลางแจ้ง Google แนะนำ Street View Geometry API ซึ่งให้แผนที่ความลึกสำหรับสถานที่ในเมือง

ARCore แตกต่างจาก Scene Viewer อย่างไร?

Scene Viewer คือส่วนประกอบ UI สำเร็จรูปของ Google สำหรับดูโมเดล 3D ใน AR โดยไม่ต้องเขียนโค้ด ทำงานผ่าน WebXR ARCore คือ SDK ที่มีคุณสมบัติครบถ้วนสำหรับสร้างประสบการณ์ AR ที่กำหนดเองด้วยการควบคุมเชิงโปรแกรมในทุกด้านของเซสชัน การติดตาม และการเรนเดอร์

สรุป

  • ARCore — แพลตฟอร์ม AR ข้ามแพลตฟอร์มของ Google ที่ทำงานบน Android และ iOS
  • Motion Tracking ใช้ไฮบริดของ IMU และ visual odometry เพื่อการระบุตำแหน่งที่แม่นยำ
  • Cloud Anchors ช่วยให้เซสชัน AR แบบหลายผู้ใช้พร้อมการซิงโครไนซ์ผ่าน Firebase
  • Depth API สร้างแผนที่ความลึกของฉาก — โดยทางโปรแกรมหรือผ่านเซ็นเซอร์ ToF
  • Sceneform — SDK ที่แนะนำสำหรับสร้างแอป AR ด้วย Kotlin โดยใช้โค้ดน้อยที่สุด
  • ความเข้ากันได้ — อุปกรณ์ Android มากกว่า 1 พันล้านเครื่องที่ได้รับการรับรอง ARCore
  • การเลือก ระหว่าง ARCore และ ARKit ขึ้นอยู่กับแพลตฟอร์มเป้าหมายและข้อกำหนดความแม่นยำ

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

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

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

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