Session เป็นอินเทอร์เฟซหลักสำหรับฟังก์ชันการทำงานเชิงพื้นที่
ของแอป Activity เชิงพื้นที่แต่ละรายการต้องสร้างและเก็บอินสแตนซ์ของ
Session หลังจากที่แอปสร้างเซสชันแล้ว แอปจะใช้Sessionอินเทอร์เฟซ
เพื่อสร้างเอนทิตีเนื้อหาเชิงพื้นที่ เช่น แผงหรือโมเดล 3 มิติ รวมถึงตั้งค่าสภาพแวดล้อมเชิงพื้นที่ ระบุตำแหน่งของผู้ใช้ และยึด
เนื้อหากับโลกแห่งความเป็นจริงได้
เข้าถึงเซสชันจาก Jetpack Compose สำหรับ XR
เมื่อใช้ Jetpack Compose สำหรับ XR ระบบจะสร้างเซสชันให้คุณและเข้าถึงได้โดยใช้ LocalSession.current โปรดดูตัวอย่างต่อไปนี้
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
เข้าถึงเซสชันจากรันไทม์ Jetpack XR
หากคุณกำลังสร้างเอนทิตีเชิงพื้นที่จากไลบรารี Jetpack SceneCore คุณจะต้องสร้างเซสชัน
หากต้องการสร้างเซสชัน ให้ส่ง [Context] ไปยังเมธอด create()
ContextActivityนี้อาจเป็นActivityในอุปกรณ์ Immersive XR หรืออุปกรณ์เคลื่อนที่ หรือบริบทที่ฉาย
การสร้างเซสชัน ARCore อาจเป็นงานที่ใช้ทรัพยากรมาก และควรประมวลผลในเบื้องหลัง ดังที่แสดงในตัวอย่างต่อไปนี้
when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) }
เมื่อกิจกรรมของเซสชันถูกทำลาย ระบบจะทำลาย UI เชิงพื้นที่และเนื้อหา 3 มิติทั้งหมดที่เชื่อมโยงกับเซสชันนั้น และเซสชันจะใช้ไม่ได้อีกต่อไป
ดูเพิ่มเติม
- ตรวจสอบความสามารถเชิงพื้นที่
- การเปลี่ยนระหว่าง HSM กับ FSM
- เพิ่มสภาพแวดล้อมเชิงพื้นที่ลงในแอป
- เพิ่มโมเดล 3 มิติลงในแอป