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