تغییر دادن ظاهر محتوا براساس نوع نمایش

دستگاه‌های 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.
    }
}

بیشتر بدانید