Mengubah tampilan konten Anda berdasarkan jenis tampilan

Perangkat XR yang kompatibel
Panduan ini membantu Anda membangun pengalaman untuk jenis perangkat XR ini.
Headset XR
Kacamata XR Berkabel
Kacamata Pintar dengan Layar
& Audio

Berbagai jenis perangkat memiliki jenis karakteristik tampilan yang berbeda. Aplikasi Anda dapat memeriksa karakteristik layar perangkat yang menjalankannya untuk menyesuaikan konten Anda guna memastikan konten ditampilkan dengan cara terbaik.

Jenis mode pencampuran tampilan

Nilai DisplayBlendMode menjelaskan cara gambar ditempatkan di atas dunia nyata. Teknologi layar ini secara mendasar mengubah cara konten digital berpadu dengan dunia fisik.

Penggabungan aditif

Jika mode penggabungan tampilan saat ini adalah ADDITIVE, piksel hitam akan tampak transparan. Hal ini sering digunakan oleh perangkat dengan lensa transparan yang secara langsung memungkinkan lingkungan pengguna terlihat oleh mata pengguna. Perangkat hanya dapat menambahkan lebih banyak cahaya ke permukaan.

Secara konkret, ini berarti konten virtual ditambahkan ke dunia nyata dengan menambahkan nilai piksel untuk setiap komponen merah, hijau, dan biru. Alfa diabaikan, dan piksel hitam tampak transparan.

Penggabungan alfa

Jika mode penggabungan tampilan saat ini adalah ALPHA_BLEND, konten virtual akan ditambahkan ke dunia nyata dengan menggabungkan nilai piksel berdasarkan komponen alfa. Hal ini berlaku untuk headset XR, yang menggunakan layar buram untuk merender konten. Kecerahan setiap piksel dapat dikontrol dan piksel dapat disetel agar tampak hitam. Bergantung pada lingkungan spasial yang aktif, piksel ini mungkin merepresentasikan dunia nyata melalui streaming kamera, atau lingkungan digital.

Tidak ada layar

Jika mode penggabungan tampilan saat ini adalah NO_DISPLAY, perangkat tidak dapat menampilkan piksel apa pun.

Mendapatkan DisplayBlendMode saat ini

Untuk memeriksa DisplayBlendMode yang aktif, gunakan 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.
    }
}

Pelajari lebih lanjut