ตัวปรับแต่งพื้นที่ย่อย

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

เลย์เอาต์

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

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

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

กำหนดขนาดและขนาดที่ต้องการ

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

วางคอมโพเนนต์

offset

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

rotate

ตัวแก้ไข rotate จะหมุนคอมโพสิเบิลที่ระบุในอวกาศ คุณสามารถระบุทิศทางและปริมาณการหมุนได้หลายวิธีดังนี้

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

เปลี่ยนลักษณะที่ปรากฏของคอมโพสิเบิล

alpha

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

scale

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

เพิ่มลักษณะการทํางานให้กับคอมโพสิเบิล

resizable

เมื่อเปิดใช้ตัวแก้ไข resizable ระบบจะแสดงตัวควบคุม UI ที่ลากได้ซึ่งช่วยให้ผู้ใช้ปรับขนาดองค์ประกอบได้ ซึ่งคล้ายกับการใช้ ResizableComponent ใน Entity

movable

เมื่อเปิดใช้ตัวแก้ไข movable ระบบจะเพิ่มตัวควบคุม UI ลงในคอมโพเนนต์ ซึ่งช่วยให้ผู้ใช้ย้ายองค์ประกอบในพื้นที่ 3 มิติได้ ซึ่งคล้ายกับการใช้ MovableComponent ใน Entity

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

semantics

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

testTag

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