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 ซึ่งช่วยให้เฟรมเวิร์กการทดสอบค้นหา
องค์ประกอบในการทดสอบได้