ทำงานร่วมกับ ARCore สำหรับ Jetpack XR

ARCore สำหรับ Jetpack XR ช่วยให้แอปทำงานกับแนวคิดพื้นฐานของเทคโนโลยีความจริงเสริม (AR) ได้โดยใช้องค์ประกอบพื้นฐานของการทําความเข้าใจฉากระดับล่างและการติดตามการเคลื่อนไหว ใช้ ARCore สำหรับ Jetpack XR เมื่อสร้างประสบการณ์ AR และคุณจำเป็นต้องใช้ข้อมูลแบบระนาบหรือกำหนดตำแหน่งเนื้อหาไปยังตำแหน่งคงที่ในพื้นที่

ทําความเข้าใจวงจรของ Session

วัตถุทั้งหมดที่ ARCore สำหรับ Jetpack XR ติดตามต้องเข้าถึงผ่าน Session ออบเจ็กต์ Session ยังมีวงจรที่ต้องมีการดูแลรักษาตามการใช้งานฟีเจอร์ของออบเจ็กต์ Session ของแอปด้วย ซึ่งคล้ายกับวงจรชีวิตของกิจกรรม หากแอปของคุณมีกิจกรรมที่เปิดใช้ XR รายการเดียว ให้พิจารณาจัดการวงจรชีวิตของ Session โดยใช้คอมโพเนนต์ที่รับรู้วงจรของลูกค้า

เข้าถึง Session

ต้องสร้าง Session เมื่อใช้ ARCore สําหรับ Jetpack XR

เมื่อใช้ Jetpack Compose สำหรับ XR ให้ใช้ LocalSession เพื่อเข้าถึงเซสชันที่สร้างให้คุณ

ดำเนินเซสชันต่อ

คุณควรกลับมาดำเนินการต่อในเซสชันเมื่อแอปพร้อมจัดการการเปลี่ยนแปลงสถานะจาก ARCore สำหรับ Jetpack XR ในกรณีส่วนใหญ่ การดำเนินการนี้จะอยู่ใน onResume() callback ของกิจกรรม แต่แอปอาจต้องการเลื่อนเวลาการประมวลผลจนกว่าผู้ใช้จะโต้ตอบ

ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่างการกลับมาทําเซสชันต่อ

when (val result = session.resume()) {
    is SessionResumeSuccess -> {
        // Session has been created successfully.
        // Attach any successful handlers here.
    }

    is SessionResumePermissionsNotGranted -> {
        // Request permissions in `result.permissions`.
    }
}

ดูสาเหตุที่ Session อาจดำเนินการต่อไม่ได้ที่ SessionResumeResult

หยุดเซสชันชั่วคราว

เมื่อกิจกรรมทำงานอยู่เบื้องหลัง ให้หยุด Session ชั่วคราวโดยใช้ [Session.pause()][Session.pause] การหยุดเซสชันชั่วคราวจะหยุดการติดตามชั่วคราวจนกว่าเซสชันจะกลับมาทำงานอีกครั้ง โดยระบบจะคงสถานะของ Perception ไว้

ทำลายเซสชัน

หากต้องการทิ้ง Session อย่างถาวร ให้ใช้ [Session.destroy()][Session.destroy] ซึ่งจะเพิ่มพื้นที่ว่างสำหรับทรัพยากรที่ใช้โดยเซสชันและทำลายสถานะเซสชันทั้งหมด

ดูเพิ่มเติม