שינוי המראה של התוכן בהתאם לסוג המסך

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

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

סוגי מצבי המיזוג בתצוגה

ערך DisplayBlendMode מתאר איך התמונות מוצגות מעל העולם האמיתי. טכנולוגיית התצוגה משנה באופן מהותי את האופן שבו תוכן דיגיטלי משתלב עם העולם הפיזי.

מיזוג חיבורי

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

בפועל, זה אומר שתוכן וירטואלי מתווסף לעולם האמיתי על ידי הוספת ערכי הפיקסלים של כל אחד מהרכיבים: אדום, ירוק וכחול. המערכת מתעלמת מערוץ האלפא, ופיקסלים שחורים נראים שקופים.

מיזוג אלפא

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

אין מסך

כשהמצב הנוכחי של שילוב התצוגה הוא NO_DISPLAY, המכשיר לא יכול להציג פיקסלים.

משיגים את DisplayBlendMode הנוכחי

כדי לבדוק את DisplayBlendMode הפעיל, משתמשים ב-XrDevice.getPreferredDisplayBlendMode:

val preferredDisplayBlendMode =
    XrDevice.getCurrentDevice(session).getPreferredDisplayBlendMode()
when (preferredDisplayBlendMode) {
    ADDITIVE -> {
        // Virtual content is added to the real world by adding the pixel values for each of
        // Red, Green, and Blue components. Alpha is ignored. Black pixels will appear transparent.
    }

    ALPHA_BLEND -> {
        // Virtual content is added to the real world by alpha blending the pixel values based
        // on the Alpha component.
    }

    NO_DISPLAY -> {
        // Device doesn't have a display.
    }
}

מידע נוסף