تغيير مظهر المحتوى استنادًا إلى نوع العرض

أجهزة XR المشمولة
تساعدك هذه الإرشادات في إنشاء تجارب لهذه الأنواع من أجهزة XR.
سماعات الرأس بنظام الواقع الممتد
نظارات سلكية بنظام الواقع الممتد
نظارات بشاشة عرض
وميزات صوتية

تختلف أنواع الأجهزة باختلاف أنواع خصائص العرض. يمكن لتطبيقك التحقّق من خصائص العرض للجهاز الذي يعمل عليه لتكييف المحتوى والتأكّد من عرضه بأفضل طريقة ممكنة.

أنواع أوضاع المزج في العرض

توضّح قيمة DisplayBlendMode كيفية تراكب الصور فوق العالم الحقيقي. تغيّر تكنولوجيا العرض بشكل جذري طريقة دمج المحتوى الرقمي مع العالم المادي.

الدمج الإضافي

عندما يكون وضع المزج الحالي للشاشة هو ADDITIVE، تظهر وحدات البكسل السوداء شفافة. غالبًا ما يتم استخدام هذا الوضع في الأجهزة ذات العدسات الشفافة التي تسمح مباشرةً بمرور بيئة المستخدم إلى عينيه. يمكن للجهاز فقط إضافة المزيد من الضوء إلى السطح.

بشكل ملموس، يعني هذا أنّه تتم إضافة المحتوى الافتراضي إلى العالم الحقيقي من خلال إضافة قيم وحدات البكسل لكل من المكوّنات الأحمر والأخضر والأزرق. يتم تجاهل قناة ألفا، وتظهر وحدات البكسل السوداء شفافة.

دمج ألفا

عندما يكون وضع المزج الحالي للشاشة هو ALPHA_BLEND، تتم إضافة المحتوى الافتراضي إلى العالم الحقيقي من خلال مزج قيم وحدات البكسل استنادًا إلى مكوّن ألفا. وهذا هو الحال مع سماعات الرأس بنظام الواقع الممتد، والتي تستخدم شاشة معتمة لعرض المحتوى. يمكن التحكّم في سطوع كل بكسل ويمكن ضبط وحدات البكسل لتظهر باللون الأسود. استنادًا إلى البيئة المكانية النشطة، قد تمثّل وحدات البكسل هذه العالم الحقيقي من خلال بث كاميرا أو بيئة رقمية.

بدون شاشة

عندما يكون وضع المزج الحالي للشاشة هو 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.
    }
}

مزيد من المعلومات