เข้าถึงเซสชันเพื่อสร้าง UI และเอนทิตีเชิงพื้นที่

อุปกรณ์ XR ที่รองรับ
คำแนะนำนี้จะช่วยคุณสร้างประสบการณ์การใช้งานสำหรับอุปกรณ์ XR ประเภทต่างๆ
ชุดหูฟัง XR
แว่นตา XR แบบใช้สาย

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 มิติทั้งหมดที่เชื่อมโยงกับเซสชันนั้นจะถูกทำลายและเซสชันจะไม่ถูกต้องอีกต่อไป

ดูเพิ่มเติม