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

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

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

ดูเพิ่มเติม