ทำความเข้าใจตัวแก้ไขพื้นที่ย่อย

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

SubspaceModifier คล้ายกับตัวปรับแต่ง Compose สำหรับ Composable ใน Subspace SubspaceModifier ช่วยให้คุณจัดการ Composable ในพื้นที่ 3 มิติ ได้ ซึ่งจะช่วยให้คุณจัดวาง หมุน และเพิ่มลักษณะการทำงานให้กับโหนดเลย์เอาต์ 3 มิติ

การจัดวาง

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

ขอบเขตการเติม

ตัวแก้ไข fillMaxSize, fillMaxWidth, fillMaxHeight และ fillMaxDepth จะทำให้เนื้อหา (บางส่วน) เติมขอบเขตขององค์ประกอบระดับบน การใช้ตัวแก้ไขการเติมจะช่วยให้เลย์เอาต์ของแอปแสดงเนื้อหาที่ไม่ขึ้นอยู่กับลักษณะการแสดงผลของอุปกรณ์ XR

ตั้งค่าขนาดและขนาดที่จำเป็น

ตัวแก้ไข size, width, height และ depth ประกาศขนาดที่ต้องการของเนื้อหา หากต้องการประกาศขนาดที่แน่นอนของ เนื้อหา ให้ใช้ requiredSize, requiredWidth, requiredHeight และ requiredDepth ต้องระบุหน่วยเหล่านี้ใน dp หากต้องการแปลงจากเมตรเป็น dp ให้ใช้ Meter.toDp()

Composable ของตำแหน่ง

offset

ตัวปรับแต่ง offset จะย้าย Composable ในพื้นที่ 3 มิติไปตามแกน x, y และ z ต้องระบุหน่วยเหล่านี้ใน dp หากต้องการแปลงจากเมตรเป็น dp ให้ใช้ Meter.toDp()

rotate

ตัวแก้ไข rotate จะหมุน Composable ที่ระบุในพื้นที่ คุณ ระบุทิศทางและจำนวนการหมุนได้หลายวิธีดังนี้

  • ใช้ระดับความสูงต่ำ การเอียง และการหมุน ซึ่งระบุการหมุนรอบแกน x, y และ z ตามลำดับ
  • โดยใช้ axisAngle ซึ่งเป็น Vector3 ที่แสดงแกนของการหมุน และจำนวนองศาที่ควรหมุนรอบ
  • ใช้ Quaternion ที่แสดงถึงการหมุนเวียน

lookAtUser

ตัวปรับแต่ง lookAtUser จะหมุน Composable ที่ระบุอย่างต่อเนื่อง ในพื้นที่เพื่อให้ดูเหมือนหันหน้าไปทางผู้ชม ตัวแก้ไขที่คล้ายกันอย่าง billboard จะหมุนให้หันหน้าเข้าหาผู้ชม แต่เนื้อหาจะยังคง ตั้งตรงอยู่

ตัวแก้ไขเหล่านี้ต้องได้รับandroid.permission.HEAD_TRACKINGสิทธิ์จากแอปของคุณ นอกจากนี้ เซสชันปัจจุบันต้องได้รับการกำหนดค่าเพื่อตั้งค่า HeadTrackingMode.LAST_KNOWN

เปลี่ยนลักษณะที่ปรากฏของ Composable

alpha

ตัวแก้ไข alpha จะกำหนดความทึบแสงขององค์ประกอบและองค์ประกอบย่อย โดย 0f หมายถึงโปร่งใสโดยสมบูรณ์ และ 1.0f หมายถึงทึบแสงโดยสมบูรณ์

scale

ตัวแก้ไข scale จะปรับขนาดเนื้อหาของ Composable ตามแกนแนวนอน แนวตั้ง และความลึก

การทดสอบและการช่วยเหลือพิเศษ

semantics

ตัวแก้ไข semantics จะเพิ่มความหมายให้กับโหนดเลย์เอาต์เพื่อใช้ในการทดสอบและการช่วยเหลือพิเศษ ดูความหมายใน Jetpack Compose และ SemanticsModifier

testTag

ตัวแก้ไข testTag เป็นรูปแบบย่อของ SemanticsPropertyReceiver.testTag ซึ่งช่วยให้เฟรมเวิร์กการทดสอบค้นหา องค์ประกอบในการทดสอบได้