Jetpack XR SDK ช่วยให้คุณสร้างประสบการณ์ XR ที่สมจริงโดยใช้เครื่องมือสมัยใหม่ เช่น Kotlin และ Compose รวมถึงเครื่องมือรุ่นก่อนหน้า เช่น Java และ Views คุณสามารถจัดวาง UI ให้เป็นเชิงพื้นที่ โหลดและแสดงผลโมเดล 3 มิติ รวมถึงทำความเข้าใจโลกแห่งความเป็นจริงในเชิงความหมาย
หากมีแอปบนอุปกรณ์เคลื่อนที่หรือหน้าจอขนาดใหญ่ใน Android อยู่แล้ว Jetpack XR SDK จะขยายแอปของคุณไปอีกมิติหนึ่งด้วยการจัดวางเลย์เอาต์ที่มีอยู่ให้เป็นแบบ 3 มิติ และปรับปรุงประสบการณ์การใช้งานด้วยโมเดล 3 มิติและสภาพแวดล้อมที่สมจริง ดูคำแนะนำเกี่ยวกับการทำให้แอป Android ที่มีอยู่เป็นแบบ 3 มิติในหลักเกณฑ์ด้านคุณภาพ
Jetpack XR SDK ประกอบด้วยไลบรารีต่อไปนี้ เครื่องมือเหล่านี้เป็นชุดเครื่องมือที่ครอบคลุมสำหรับการสร้างประสบการณ์เชิงพื้นที่ที่หลากหลายและสมบูรณ์แบบ และออกแบบมาให้ทำงานร่วมกันได้อย่างราบรื่น
- Jetpack Compose สำหรับ XR: สร้างเลย์เอาต์ UI เชิงมิติพื้นที่แบบประกาศสิ่งที่ต้องการ ซึ่งใช้ประโยชน์จากความสามารถเชิงมิติพื้นที่ของ Android XR
- Material Design สำหรับ XR: สร้างด้วยคอมโพเนนต์และเลย์เอาต์ Material ที่ปรับให้เหมาะกับ XR
- Jetpack SceneCore: สร้างและจัดการกราฟฉากของ Android XR ด้วยเนื้อหา 3 มิติ
- ARCore สำหรับ Jetpack XR: นำเนื้อหาดิจิทัลมาสู่โลกแห่งความเป็นจริงด้วยความสามารถในการรับรู้
Jetpack Compose สำหรับ XR
เมื่อใช้ Jetpack Compose สำหรับ XR คุณจะใช้แนวคิด Compose ที่คุ้นเคยได้ เช่น แถวและคอลัมน์เพื่อสร้างเลย์เอาต์ UI แบบพื้นที่ใน XR ไม่ว่าคุณจะพอร์ตแอป 2 มิติที่มีอยู่ไปยัง XR หรือสร้างแอป XR ใหม่ตั้งแต่ต้น
ไลบรารีนี้มีวิดเจ็ตที่คอมโพสิเบิลในพื้นที่ย่อย เช่น SpatialPanel
และ Orbiter
ซึ่งช่วยให้คุณวาง UI ของ Compose หรือ Views แบบ 2 มิติที่มีอยู่ไว้ในเลย์เอาต์เชิงพื้นที่ได้
ดูคําแนะนําโดยละเอียดได้ที่พัฒนา UI ด้วย Jetpack Compose สําหรับ XR
คอมโพสิชันสำหรับ XR เปิดตัวคอมโพสิชันย่อย Volume
ซึ่งช่วยให้คุณวางเอนทิตี SceneCore เช่น โมเดล 3 มิติ เทียบกับ UI ได้
ดูวิธีจัดวางแอป Android ที่มีอยู่ให้เป็นพื้นที่หรือดูข้อมูลอ้างอิง API เพื่อดูรายละเอียดเพิ่มเติม
ดีไซน์ Material สำหรับ XR
Material Design มีคอมโพเนนต์และเลย์เอาต์ที่ปรับให้เหมาะกับ XR ตัวอย่างเช่น หากคุณสร้างด้วยเลย์เอาต์แบบปรับเปลี่ยนได้และอัปเดตเป็นรุ่นอัลฟ่าล่าสุดของข้อกําหนดโดยใช้ EnableXrComponentOverrides
wrapper ระบบจะวางแต่ละแผงไว้ใน SpatialPanel
และวางแถบนำทางไว้ใน Orbiter
ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Material Design สำหรับ XR
Jetpack SceneCore
คลัง Jetpack SceneCore ช่วยให้คุณวางและจัดเรียงเนื้อหา 3 มิติซึ่งกำหนดโดยเอนทิตี โดยสัมพันธ์กับแต่ละรายการและสภาพแวดล้อม SceneCore ช่วยให้คุณทำสิ่งต่อไปนี้ได้
- ตั้งค่าสภาพแวดล้อมเชิงพื้นที่
- สร้างอินสแตนซ์ของ [
PanelEntity
][23] - วางและเคลื่อนไหวโมเดล 3 มิติ
- [ระบุแหล่งที่มาของเสียงรอบทิศทาง][24]
- เพิ่มคอมโพเนนต์ลงในเอนทิตีเพื่อให้ย้ายตำแหน่ง ปรับขนาด และยึดกับโลกแห่งความเป็นจริงได้
นอกจากนี้ ไลบรารี Jetpack SceneCore ยังรองรับการจัดวางแอปพลิเคชันที่สร้างขึ้นโดยใช้ Views ในเชิงพื้นที่ด้วย ดูรายละเอียดเพิ่มเติมได้ที่[คู่มือการใช้งานมุมมอง][25]
ดูข้อมูลโดยละเอียดได้ที่ [API reference][26]
ARCore สำหรับ Jetpack XR
ไลบรารี ARCore สำหรับ Jetpack XR ได้รับแรงบันดาลใจมาจาก [ไลบรารี ARCore][27]{:.external} ที่มีอยู่ ซึ่งช่วยให้คุณผสมผสานเนื้อหาดิจิทัลเข้ากับโลกแห่งความเป็นจริงได้ คลังนี้ประกอบด้วยการติดตามการเคลื่อนไหว หมุดยึดถาวร การทดสอบการตี และระบุระนาบด้วยการติดป้ายกำกับเชิงความหมาย (เช่น พื้น ผนัง และโต๊ะ) ไลบรารีนี้ใช้ประโยชน์จากแพ็กเกจการรับรู้พื้นฐานที่ขับเคลื่อนโดย [OpenXR ใน Android XR][28] ซึ่งช่วยให้มั่นใจได้ว่าอุปกรณ์ต่างๆ จำนวนมากจะใช้งานร่วมกันได้ และช่วยให้แอปใช้งานได้ในอนาคต
ดูข้อมูลโดยละเอียดที่ [ทํางานกับ ARCore สําหรับ Jetpack XR][29]
ซึ่งแตกต่างจากรุ่นก่อนหน้าหมายเหตุเกี่ยวกับเวอร์ชันตัวอย่างสำหรับนักพัฒนาแอป
โปรดทราบว่ารุ่นนี้เป็นส่วนหนึ่งของเวอร์ชันตัวอย่างสำหรับนักพัฒนาแอปและ API เหล่านี้ยังอยู่ระหว่างการพัฒนา ดูปัญหาที่ทราบในบันทึกประจำรุ่น
- [บันทึกประจำรุ่นของ Jetpack Compose สำหรับ XR][30]
- [หมายเหตุเกี่ยวกับรุ่น ARCore สำหรับ Jetpack XR][31]
- [บันทึกประจำรุ่น Jetpack SceneCore][32]
- [บันทึกประจำรุ่นรันไทม์ Jetpack for SceneCore][33]
หากพบปัญหาที่ไม่ได้อยู่ในรายการดังกล่าว [โปรดรายงานข้อบกพร่องหรือส่งความคิดเห็น][34]
OpenXR™ และโลโก้ OpenXR เป็นเครื่องหมายการค้าของ The Khronos Group Inc. และจดทะเบียนเป็นเครื่องหมายการค้าในจีน สหภาพยุโรป ญี่ปุ่น และสหราชอาณาจักร