UI เชิงพื้นที่

เมื่อสร้างแอปที่แตกต่างสำหรับ Android XR คุณอาจต้องการใช้ UI เชิงมิติพื้นที่เพื่อวางเนื้อหาในสภาพแวดล้อมจริงหรือสภาพแวดล้อมเสมือนจริงของผู้ใช้ คุณสามารถแยกแอปออกเป็นแผงเชิงมิติ แผงควบคุม และเพิ่มระดับความสูงเชิงมิติ (อธิบายรายละเอียดเพิ่มเติมในหน้านี้) นอกจากนี้ คุณยังรวมวิดีโอเชิงมิติพื้นที่ไว้ในการออกแบบได้ด้วย

แผงเชิงพื้นที่

แผงเชิงพื้นที่เป็นองค์ประกอบพื้นฐานของแอป Android XR คุณสามารถใช้ API เหล่านี้เพื่อสร้างประสบการณ์การใช้งาน XR ที่แตกต่างบนจอแสดงผลแบบไม่จำกัด โดยเนื้อหาจะขยายไปทั่วพื้นที่ของผู้ใช้ แผงเชิงพื้นที่ทำหน้าที่เป็นคอนเทนเนอร์สำหรับองค์ประกอบ UI, คอมโพเนนต์แบบอินเทอร์แอกทีฟ และเนื้อหาที่สมจริง

แอป Android XR ที่มีแสงเหนือและภูเขาที่ปกคลุมด้วยหิมะ เมนูควบคุมของผู้ใช้ 3 รายการอยู่ในวงโคจร โดยจะยกสูงขึ้นเหนือแผงหลัก โดยมีแผงหนึ่งอยู่ทางด้านซ้าย ด้านขวา และด้านล่าง

ทำความเข้าใจวิธีปรับขนาดและย้าย UI

แผงเชิงมิติพื้นที่จะปรับขนาดโดยอัตโนมัติตามระยะห่างจากผู้ใช้ การปรับขนาดแบบไดนามิกนี้ช่วยให้มั่นใจได้ว่าองค์ประกอบ UI จะยังคงอ่านได้และโต้ตอบได้เมื่อดูจากระยะห่างที่แตกต่างกัน ขนาดจะคงที่ระหว่าง 0.75 เมตรถึง 1.75 เมตร จากนั้นอัตราการปรับขนาดจะเพิ่มขึ้น 0.5 เมตรต่อเมตร และองค์ประกอบจะดูเล็กลง

โปรดปฏิบัติตามขีดจำกัดการเคลื่อนไหวของแผงเริ่มต้นเพื่อหลีกเลี่ยงความขัดแย้งกับ UI ของระบบ ดังนี้

  • ความลึกขั้นต่ำ: 0.75 เมตรจากผู้ใช้
  • ความลึกสูงสุด: 5 เมตรจากผู้ใช้

ผู้ใช้สามารถปรับขนาดแผงเชิงพื้นที่ให้ใหญ่ขึ้นหรือเล็กลงเพื่อให้มีขนาดใหญ่พอที่จะมองเห็นได้ชัดเจน ไม่ว่าจะอยู่ห่างจากผู้ใช้เท่าใดก็ตาม เมื่อผู้ใช้ย้ายแผงเชิงมิติพื้นที่ Android XR จะปรับขนาดโดยอัตโนมัติ

ขนาดแผงเชิงพื้นที่

Android XR ออกแบบมาเพื่อให้แอปของคุณใช้งานได้สะดวก อ่านง่าย และเข้าถึงได้สำหรับกลุ่มเป้าหมายที่หลากหลาย ระบบจะใช้ 0.868 dp-to-dmm เพื่อให้ได้รับประสบการณ์การใช้งานที่ดีที่สุด เมื่อดูบนชุดหูฟัง แอปของคุณจะปรากฏห่างจากผู้ใช้มากกว่าเมื่อดูแอปบนโทรศัพท์หรือแท็บเล็ต ดังนั้นแอปจึงต้องมีขนาดใหญ่ขึ้นเพื่อให้ใช้งานได้ง่าย

ใน Full Space แผงเชิงมิติพื้นที่จะไม่มีขนาดขั้นต่ำ และขนาดสูงสุดคือ 2560dp x 1800dp เนื่องจากข้อจำกัดทางกายภาพ

ภาพผู้ใช้ที่อยู่ห่างจากแอป XR เป็นระยะ 1.75 เมตร

ตำแหน่งที่จะวางแผงเชิงมิติพื้นที่

ใน Full Space คุณสามารถกำหนดตำแหน่งของแผงได้ทั้งในสภาพแวดล้อมแบบพาสทรูและสภาพแวดล้อมเสมือนจริง เมื่อผู้ใช้เปลี่ยนจาก Home Space เป็น Full Space องค์ประกอบต่างๆ จะยังคงอยู่ในตำแหน่งที่คาดการณ์ได้เหมือนเดิม เว้นแต่คุณจะกำหนดตำแหน่งที่กำหนดเอง

ผู้ใช้กำลังดูแอป XR โดยมีระดับสายตาตามธรรมชาติที่ต่ำกว่ากึ่งกลางแผง 5 องศา

สร้างศูนย์กลางแผงให้ห่างจากแนวสายตาของผู้ใช้ 1.75 เมตร วางกึ่งกลางแนวตั้งของแผงให้ต่ำกว่าระดับสายตาของผู้ใช้ 5° เพื่อให้ผู้ใช้รู้สึกสบายตามากที่สุด เนื่องจากผู้ใช้มักจะมองลงด้านล่าง

ผู้ใช้มองไปที่แผงควบคุมซึ่งอยู่ตรงกลางขอบเขตการมองเห็น 41 องศา

วางเนื้อหาไว้ตรงกลาง 41° ของขอบเขตการมองเห็นของผู้ใช้เพื่อความสบายสูงสุด ซึ่งจะช่วยให้มองเห็นได้อย่างชัดเจนและลดความจำเป็นในการขยับศีรษะหรือร่างกายมากเกินไป

ผู้ใช้สามารถเคลื่อนที่ไปรอบๆ พื้นที่ทำงานได้ และแผงเชิงพื้นที่จะยังคงอยู่ที่เดิม

Android XR มีรูปแบบการโต้ตอบที่พร้อมใช้งานเพื่อให้ผู้ใช้จัดการองค์ประกอบต่างๆ ได้อย่างราบรื่นและลดความซับซ้อนของกระบวนการพัฒนา ผู้ใช้สามารถย้ายองค์ประกอบต่างๆ เพื่อปรับให้เข้ากับพื้นที่ส่วนตัวได้ คุณกำหนดค่าลักษณะการทำงานของการย้ายและปรับขนาดได้

หากต้องการช่วยให้ผู้ใช้จัดตำแหน่งองค์ประกอบ UI ให้สัมพันธ์กับวัตถุในชีวิตจริงในพื้นที่ของตน คุณสามารถอนุญาตให้ผู้ใช้ตรึงแผงเชิงพื้นที่ไว้กับตำแหน่งที่เฉพาะเจาะจงในชีวิตจริงได้ เช่น พื้น เก้าอี้ ผนัง เพดาน หรือโต๊ะ การตรึงพร้อมใช้งานในโหมดส่งผ่านเท่านั้น

คุณสามารถอนุญาตให้ผู้ใช้ตรึงแผงเชิงพื้นที่ไว้กับตำแหน่งที่เฉพาะเจาะจงในโลกจริง เช่น พื้น เก้าอี้ ผนัง เพดาน หรือโต๊ะ เพื่อช่วยให้ผู้ใช้รู้สึกมั่นคงและปรับตัวได้ดี การตรึงพร้อมใช้งานในโหมดส่งผ่านเท่านั้น

สร้างเลย์เอาต์เชิงพื้นที่ของคุณเอง

คุณสามารถแยกแอปออกเป็นแผงเชิงพื้นที่หลายแผงในเลย์เอาต์ใดก็ได้ที่เลือก API ของ UI เชิงมิติพื้นที่ไม่จำกัดจำนวนแผง ซึ่งรวมถึงความสามารถในการสร้างเลย์เอาต์ที่มีแถวและคอลัมน์ รวมถึงแถวแบบแบนและแบบโค้ง ตำแหน่งของแผงเชิงพื้นที่อาจเป็นตำแหน่งที่เฉพาะเจาะจงหรือกำหนดเองก็ได้ ดูวิธีพัฒนาเลย์เอาต์ของ UI เชิงพื้นที่

คนกำลังดูแผง 3 แผงที่จัดเรียงติดกันเป็นแถวแนวนอน

เลย์เอาต์แถวแบบแบนราบ

บุคคลกำลังมองแผงจอแบน 3 แผงที่จัดเรียงติดกันเป็นแถวโค้ง โดยแผงด้านนอกขวาและซ้ายอยู่ใกล้กับบุคคลนั้นมากกว่า

เลย์เอาต์แถวโค้ง

บุคคลกำลังมองแผงจอแบน 3 แผงที่มีขนาดต่างกันในตำแหน่งที่กำหนดเอง โดยแผงด้านนอกขวาและซ้ายอยู่ห่างจากบุคคลนั้นมากกว่า

เลย์เอาต์ตำแหน่งที่กำหนดเอง

วิดีโอเชิงมิติพื้นที่

วิดีโอเชิงมิติพื้นที่ช่วยเพิ่มมิติและความรู้สึกสมจริงให้กับเนื้อหาได้ คุณสามารถรวมวิดีโอเหล่านี้ไว้ในการออกแบบเป็นวิดีโอแบบโมโนสโคปิกหรือสามมิติที่แสดงบนพื้นผิวแบน ทรงครึ่งวงกลม 180° หรือทรงกลม 360°

Orbiters

Orbiter คือองค์ประกอบ UI แบบลอยที่มักใช้เพื่อควบคุมเนื้อหาภายในแผงเชิงพื้นที่และเอนทิตีอื่นๆ ที่ยึดไว้ โฆษณาประเภทนี้ช่วยให้เนื้อหามีพื้นที่มากขึ้น และผู้ใช้สามารถเข้าถึงฟีเจอร์ต่างๆ ได้อย่างรวดเร็วขณะที่เนื้อหาหลักยังคงมองเห็นได้ Orbiter ช่วยให้คุณผสานรวมคอมโพเนนต์ UI ที่มีอยู่หรือสร้างคอมโพเนนต์ใหม่ได้อย่างอเนกประสงค์

ควรใช้ Orbiter อย่างจำกัดและพิจารณาความต้องการและเจตนาของผู้ใช้อย่างรอบคอบ องค์ประกอบ UI เชิงพื้นที่จำนวนมากอาจทำให้ผู้ใช้รู้สึกเหนื่อยล้ากับเนื้อหาและรู้สึกว่ามีตัวเลือกการดำเนินการมากเกินไป ขอแนะนำให้ปรับคอมโพเนนต์การนำทางที่สำคัญบางอย่าง เช่น แถบข้างนำทางหรือแถบนำทาง

แถบนำทางด้านข้างแบบไม่ใช่เชิงพื้นที่จาก Material Design ในพื้นที่หน้าแรก

แถบนำทางด้านข้างแบบไม่ใช่เชิงพื้นที่จาก Material Design ใน Home Space

แถบนำทางด้านข้างเชิงพื้นที่จาก Material Design ใน Full Space

แถบนำทางเชิงพื้นที่จาก Material Design ใน Full Space

แถบนำทางแบบไม่ใช่เชิงพื้นที่จาก Material Design ในพื้นที่หน้าแรก

แถบนำทางแบบไม่ใช่เชิงพื้นที่จาก Material Design ใน Home Space

แถบนำทางเชิงพื้นที่จาก Material Design ใน Full Space

แถบนำทางเชิงพื้นที่จาก Material Design ใน Full Space

หลักเกณฑ์

  • ปรับระยะห่างจากขอบของแผงเพื่อกำหนดตำแหน่งแบบยืดหยุ่นหรือเปอร์เซ็นต์
  • กำหนดออฟเซ็ตของวงโคจร ระยะห่างที่มองเห็นได้ที่แนะนำคือ 20dp
  • ปรับระดับความสูงของ Orbiter หากจำเป็นโดยใช้ระดับความสูงเชิงพื้นที่ โดยค่าเริ่มต้น ปุ่มจะยกขึ้น 15dp ในความลึกแกน Z
  • ขนาดอาจคงที่หรือยืดหยุ่นเมื่อปรับขนาดแผง
  • พิจารณาว่าคุณต้องการให้ Orbiter ขยายแบบไดนามิกเพื่อให้พอดีกับเนื้อหาหรือไม่

รูปแบบการออกแบบที่ควรหลีกเลี่ยง

  • หลีกเลี่ยงการวางซ้อนทับลูกแก้วเกิน 50% ของขนาดลูกแก้ว
  • หลีกเลี่ยงการวางออร์บิเตอร์ไว้ห่างจากแผงเชิงพื้นที่มากเกินไป
  • อย่าใช้พิกัด X หรือ Y แบบสัมบูรณ์
  • หลีกเลี่ยงการใช้ภาพโคจรรอบวัตถุมากเกินไป

ระดับความสูงเชิงพื้นที่

เมื่อคุณเพิ่มระดับความลึกเชิงพื้นที่ให้กับคอมโพเนนต์ คอมโพเนนต์จะแสดงเหนือแผงเชิงพื้นที่บนแกน Z ซึ่งจะช่วยดึงดูดความสนใจของผู้ใช้ สร้างลำดับชั้นที่ดีขึ้น และปรับปรุงความสามารถในการอ่าน

ระดับความสูงเชิงพื้นที่ ส่วนประกอบ DP
0 ยังไม่ได้กำหนด .1dp
1 ยานอวกาศ 16dp
2 ไม่ได้รับมอบหมาย 24dp
3 SpatialPopup 32dp
4 ไม่ได้รับมอบหมาย 40dp
5 SpatialDialog 56dp

กล่องโต้ตอบ Material Design ในแอปบนหน้าจอขนาดใหญ่

กล่องโต้ตอบ Material Design ในแอปบนหน้าจอขนาดใหญ่

กล่องโต้ตอบที่ใช้ระดับความสูงเชิงพื้นที่ใน Android XR

เมนูแบบเลื่อนลงของ Material Design ในแอปบนหน้าจอขนาดใหญ่

เมนูแบบเลื่อนลงของ Material Design ในแอปบนหน้าจอขนาดใหญ่

เมนูแบบเลื่อนลงที่ใช้ระดับความสูงใน Android XR

รูปแบบการออกแบบที่ควรหลีกเลี่ยง
  • หลีกเลี่ยงการทำให้พื้นที่และระนาบขนาดใหญ่ เช่น Bottom Sheet และ Side Sheet มีมิติหรือยกขึ้น
  • หลีกเลี่ยงการยกระดับองค์ประกอบ UI ที่มีเนื้อหาที่เลื่อนได้

ออกแบบขนาดเป้าหมายให้ใหญ่

ในแอป XR เป้าหมายคือพื้นที่ที่ชี้ได้ซึ่งผู้ใช้โต้ตอบด้วย Android XR เป็นไปตามหลักเกณฑ์เป้าหมายของ Material Design และแนะนำเป้าหมายที่ใหญ่ขึ้นเพื่อเพิ่มความแม่นยำ ความสะดวกสบาย และความสามารถในการใช้งาน

ดูข้อมูลเกี่ยวกับเป้าหมายและสถานะการวางเมาส์เหนือของ XR

ทำให้ตัวพิมพ์เข้าถึงได้ง่าย

ความสามารถในการอ่านแบบอักษรเป็นสิ่งสำคัญต่อประสบการณ์ของผู้ใช้ที่สะดวกสบายใน XR เราขอแนะนำให้ใช้ตัวเลือกสเกลประเภทที่มีขนาดแบบอักษร 14dp ขึ้นไป และน้ำหนักแบบอักษรปกติหรือสูงกว่าเพื่อให้อ่านง่ายขึ้น

หากแอปที่มีอยู่เป็นไปตามหลักเกณฑ์ของ Material Design แสดงว่าแอปได้รับการเพิ่มประสิทธิภาพสำหรับ Android XR แล้ว คุณสามารถกำหนดรูปแบบตัวพิมพ์ของแอปใหม่ตาม Material Design

ดูข้อมูลเกี่ยวกับการจัดพิมพ์ใน XR

ใช้คอมโพเนนต์และเลย์เอาต์ของ Material Design

ใช้ประโยชน์จากไลบรารีคอมโพเนนต์ของ Material Design และเลย์เอาต์แบบปรับอัตโนมัติเมื่อออกแบบแอป Android XR บล็อกที่ใช้สร้างแบบอินเทอร์แอกทีฟเหล่านี้ช่วยเร่งการพัฒนาเพื่อให้คุณมุ่งเน้นที่ฟังก์ชันหลักและนวัตกรรมได้

Material Design สำหรับ XR ปรับปรุงคอมโพเนนต์และเลย์เอาต์แบบปรับอัตโนมัติของ Material 3 ด้วยลักษณะการทำงานของ UI เชิงพื้นที่ ซึ่งจะช่วยให้แอปของคุณดูเป็นส่วนหนึ่งของแพลตฟอร์มมากขึ้นและเพิ่มประสิทธิภาพพื้นที่เก็บข้อมูล

นอกจากนี้ คุณยังสามารถทำให้คอมโพเนนต์ UI ที่มีอยู่เป็นแบบเชิงมิติพื้นที่ได้โดยวางไว้ใน Orbiter และใช้ระดับความสูงเชิงมิติพื้นที่ตามที่อธิบายไว้ในหน้านี้

ภาพคอลลาจขององค์ประกอบจากชุดเครื่องมือออกแบบ Material 3 ดาวน์โหลดชุดการออกแบบ Material 3 เพื่อเริ่มต้นใช้งาน