ทำงานร่วมกับ 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() ของกิจกรรม แต่แอปอาจต้องการเลื่อนเวลาการประมวลผลจนกว่าผู้ใช้จะโต้ตอบ

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

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() การหยุดเซสชันชั่วคราวจะหยุดการติดตามชั่วคราวจนกว่าเซสชันจะกลับมาทํางานต่อ โดยระบบจะคงสถานะของ Perception ไว้

ทำลายเซสชัน

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

ดูเพิ่มเติม