הסבר על עיבוד של מרחבים משניים

מכשירי XR שמתאימים לשימוש
ההנחיות האלה יעזרו לכם ליצור חוויות למכשירי XR מהסוגים הבאים.
משקפי XR
משקפי XR חוטיים

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

פריסה

כברירת מחדל, Subspace מוגבל על ידי המרחב המומלץ לצפייה באפליקציה. המגבלות האלה משמשות למדידת הפריסה של רכיבי המרחב המשני, בדומה למגבלות בפריסות דו-ממדיות של 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 שמייצג את הסבב.

rotateToLookAtUser

המשנה rotateToLookAtUser מסובב את התוכן באופן רציף כך שהוא תמיד פונה אל המשתמש. אפשר גם להשתמש במאפיין הזה כדי ליצור אפקט של שלט חוצות, שבו התוכן מסתובב כדי להיות מול המשתמש בציר Y, אבל עדיין נשאר זקוף ומיושר עם כוח המשיכה. כדי לעשות את זה, משלבים את הערך לשינוי ההנחה rotateToLookAtUser עם הערך לשינוי ההנחה gravityAligned.

כדי להשתמש במגדיר הזה, האפליקציה צריכה להגדיר את האובייקט של הסשן הנוכחי באמצעות DeviceTrackingMode.LAST_KNOWN.

HeadTrackingMode.LAST_KNOWN.

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

alpha

המשנה alpha מגדיר את האטימות של הרכיב ושל רכיבי הצאצא שלו, כאשר 0f מייצג שקיפות מלאה ו-1.0f מייצג אטימות מלאה.

scale

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

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

semantics

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

testTag

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