גורמי שינוי של מרחבים משניים

SubspaceModifier דומה למַעְדִּר Compose לרכיבים שניתנים ליצירה ב-Subspace. בעזרת SubspaceModifier אפשר לבצע פעולות על רכיבים מורכבים במרחב תלת-ממדי, כמו מיקום, סיבוב והוספת התנהגויות לצמתים של פריסה תלת-ממדית.

פריסה

כברירת מחדל, Subspace מוגבל למרחב המומלץ לצפייה באפליקציה. המערכת משתמשת במגבלות האלה כשהיא מודדת את הפריסה של רכיבי המרחב המשני, בדומה למגבלות בפריסות 2D של Compose.

גבולות מילוי

בעזרת המשתנים המשתנים fillMaxSize, ‏ fillMaxWidth, ‏ fillMaxHeight ו-fillMaxDepth, התוכן ממלא (חלקית) את גבולות ההורה שלו. שימוש במודיפיקציות מילוי עוזר לכם לתכנן את הפריסה של האפליקציה כך שהתוכן יהיה עצמאי ממאפייני התצוגה של מכשיר ה-XR.

הגדרת הגודל והגודל הנדרש

המשתנים size,‏ width,‏ height ו-depth מגדירים את הגודל המועדף של התוכן. כדי להצהיר על הגודל המדויק של התוכן, משתמשים ב-requiredSize, ב-requiredWidth, ב-requiredHeight וב-requiredDepth. צריך לציין את היחידות האלה ב-dp. כדי להמיר מטרים ל-dp, משתמשים ב-Meter.toDp().

מיקום רכיבים מורכבים

offset

המשתנה offset מעביר את הרכיב המודולרי במרחב תלת-ממדי לאורך הצירים x,‏ y ו-z. צריך לציין את היחידות האלה ב-dp. כדי להמיר מטרים ל-dp, משתמשים ב-Meter.toDp().

rotate

המשתנה rotate מסובב את הרכיב הנתון במרחב. אפשר לציין את הכיוון ואת מידת הסיבוב בדרכים שונות:

  • באמצעות שימוש ב-pitch,‏ yaw ו-roll, שמציינים את הסיבוב סביב הצירים x,‏ y ו-z, בהתאמה.
  • באמצעות axisAngle, שהוא Vector3 שמייצג את ציר הסיבוב, ואת מספר המעלות שצריך לסובב אותו,
  • באמצעות Quaternion שמייצג את הסיבוב.

שינוי המראה של רכיבים מורכבים

alpha

המאפיין alpha מגדיר את האטימות של הרכיב ושל רכיבי הצאצאים שלו, כאשר הערך 0f מייצג שקיפות מלאה והערך 1.0f מייצג אטימות מלאה.

scale

המשתנה המשנה scale משנה את הגודל של התוכן של ה-composable לאורך הצירים האופקי, האנכי והעומק.

הוספת התנהגויות לרכיבים

resizable

כשהמשתנה המשנה resizable מופעל, יוצגו אמצעי בקרה של ממשק המשתמש שניתן לגרור, שמאפשרים למשתמש לשנות את גודל הרכיב. התהליך הזה דומה לשימוש ב-ResizableComponent ב-Entity.

movable

כשמפעילים את המשתנה movable, יתווספו לרכיב אמצעי בקרה בממשק המשתמש שמאפשרים למשתמש להזיז את הרכיב במרחב תלת-ממדי. התהליך הזה דומה לשימוש ב-MovableComponent ב-Entity.

בדיקה ונגישות

semantics

המשתנה semantics מוסיף סמנטיקה לצומת הפריסה, לשימוש בבדיקות ובנגישות. מידע נוסף זמין במאמרים סמנטיקה ב-Jetpack פיתוח נייטיב ו-SemanticsModifier.

testTag

המאפיין testTag הוא קיצור דרך ל-SemanticsPropertyReceiver.testTag, שמאפשר למסגרות בדיקה למצוא את הרכיב בבדיקות.