ARCore สำหรับ Jetpack XR มอบความสามารถในการรับรู้ที่มีประสิทธิภาพเพื่อให้แอปของคุณเข้าใจโลกจริงผ่าน API ที่หลากหลาย API บางรายการจะช่วยคุณปรับปรุงประสบการณ์ที่สมจริงสำหรับอุปกรณ์ต่างๆ เช่น ชุดหูฟัง XR และแว่นตา XR แบบใช้สาย บางรายการจะช่วยคุณปรับปรุงประสบการณ์การใช้งานเทคโนโลยีความจริงเสริม (AR) สำหรับอุปกรณ์ต่างๆ เช่น แว่นตา AI และบางรายการจะช่วยคุณปรับปรุงประสบการณ์การใช้งานแอปสำหรับอุปกรณ์ Android XR ทุกประเภท
เช่น คุณสามารถใช้ ARCore สำหรับ Jetpack XR เพื่อดึงข้อมูลระนาบ ยึดเนื้อหาไว้กับตำแหน่งที่แน่นอนในพื้นที่ หรือใช้ท่าทางเชิงภูมิศาสตร์เพื่อยึดเนื้อหาไว้กับตำแหน่งในโลกจริง
เพิ่มทรัพยากร Dependency ของไลบรารี
ก่อนเริ่มใช้ฟีเจอร์การรับรู้ในแอป XR ให้เพิ่มทรัพยากร Dependency ที่จำเป็น โดยขึ้นอยู่กับประเภทของประสบการณ์การใช้งานแอปที่คุณกำลังปรับปรุงด้วย AR
เข้าถึงเซสชัน
ฟีเจอร์การรับรู้ใน ARCore สำหรับ Jetpack XR อาศัย Session ซึ่งใช้รันไทม์ Jetpack XR
วิธีที่แอปควรเข้าถึงเซสชันจะขึ้นอยู่กับประเภทของประสบการณ์การใช้งานแอปที่คุณกำลังปรับปรุงด้วยฟีเจอร์การรับรู้ ดังนี้
- หากแอปของคุณกำลังปรับปรุงประสบการณ์ที่สมจริงด้วย UI เชิงพื้นที่โดยใช้ Jetpack Compose สำหรับ XR ให้เข้าถึงเซสชันจาก Jetpack Compose สำหรับ XR
- สำหรับสถานการณ์อื่นๆ ทั้งหมด คุณสามารถสร้างเซสชันโดยใช้ Jetpack XR รันไทม์ ซึ่งจะอธิบายไว้ในส่วนถัดไปของหน้านี้
สร้างเซสชันโดยใช้ Jetpack XR Runtime
หากต้องการสร้างเซสชัน ให้ส่ง Context ไปยังเมธอด create() Context นี้อาจเป็นActivityในอุปกรณ์ XR ที่สมจริงหรืออุปกรณ์เคลื่อนที่ หรือบริบทที่ฉายในแว่นตาอัจฉริยะ
การสร้างเซสชัน ARCore อาจเป็นงานที่มีค่าใช้จ่ายสูง และควรประมวลผลในเบื้องหลัง ดังที่แสดงในตัวอย่างต่อไปนี้
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
ฟังก์ชัน create() สามารถใช้พารามิเตอร์ LifecycleOwner ที่ไม่บังคับ ซึ่งช่วยให้ LifecycleOwner อื่นจัดการวงจรของเซสชันได้ LifecycleOwner ต้องเริ่มต้นและสิ้นสุดวงจรภายในขอบเขตของบริบทที่ระบุ ไม่เช่นนั้น Session อาจเสี่ยงต่อการรั่วไหล
กำหนดค่าเซสชัน
ฟีเจอร์บางอย่างอาจปิดใช้อยู่โดยค่าเริ่มต้น และต้องกำหนดค่าเพื่อให้ทำงานได้ หากต้องการกำหนดค่าเซสชัน ให้ใช้ configure() และระบุตัวเลือกการกำหนดค่าที่ Session ต้องการ ดูรายละเอียดเกี่ยวกับการกำหนดค่าที่จำเป็นสำหรับฟีเจอร์ AR ต่างๆ ได้ที่หน้าเว็บที่เกี่ยวข้องสำหรับฟีเจอร์ AR แต่ละรายการ
ขั้นตอนถัดไป
หลังจากที่แอปมีเซสชันแล้ว ให้สำรวจวิธีที่คุณสามารถใช้เซสชันเพื่อปรับปรุงประสบการณ์การใช้งานแอปสำหรับอุปกรณ์ XR ต่างๆ ดังนี้
- ตรวจจับระนาบโดยใช้ ARCore สำหรับ Jetpack XR
- สร้าง Anchor ด้วย ARCore สำหรับ Jetpack XR
- ทำงานด้วยมือโดยใช้ ARCore สำหรับ Jetpack XR
- รวมการติดตามใบหน้าไว้ในแอปด้วย ARCore สำหรับ Jetpack XR
- ดึงข้อมูลความลึกในแอปด้วย ARCore สำหรับ Jetpack XR
- ติดตามท่าทางของอุปกรณ์โดยใช้ ARCore สำหรับ Jetpack XR