Modifier l'apparence de votre contenu en fonction du type d'affichage

Appareils XR concernés
Ces conseils vous aideront à créer des expériences pour ces types d'appareils XR.
Casques XR
Lunettes XR filaires
Lunettes audio et
avec affichage

Les caractéristiques d'affichage varient selon les types d'appareils. Votre application peut vérifier les caractéristiques d'affichage de l'appareil sur lequel elle s'exécute afin d'adapter votre contenu pour qu'il s'affiche de la meilleure façon possible.

Types de modes de fusion d'affichage

Une valeur DisplayBlendMode décrit la façon dont l'imagerie est superposée au monde réel. La technologie d'affichage change fondamentalement la façon dont le contenu numérique se fond dans le monde physique.

Mélange additif

Lorsque le mode de fusion d'affichage actuel est ADDITIVE, les pixels noirs apparaissent transparents. Cette méthode est souvent utilisée par les appareils dotés de lentilles transparentes qui permettent à l'utilisateur de voir directement son environnement. L'appareil ne peut qu'ajouter de la lumière à la surface.

Concrètement, cela signifie que le contenu virtuel est ajouté au monde réel en ajoutant les valeurs de pixel pour chacune des composantes rouge, verte et bleue. La valeur alpha est ignorée et les pixels noirs apparaissent transparents.

Mélange alpha

Lorsque le mode de fusion d'affichage actuel est ALPHA_BLEND, le contenu virtuel est ajouté au monde réel en fusionnant les valeurs de pixel en fonction du composant alpha. C'est le cas des casques XR, qui utilisent un écran opaque pour afficher le contenu. La luminosité de chaque pixel peut être contrôlée, et les pixels peuvent être définis pour apparaître en noir. Selon l'environnement spatial actif, ces pixels peuvent représenter le monde réel via un flux de caméra ou un environnement numérique.

Aucun affichage

Lorsque le mode de fusion d'affichage actuel est NO_DISPLAY, l'appareil ne peut afficher aucun pixel.

Obtenez le DisplayBlendMode actuel.

Pour vérifier le DisplayBlendMode actif, utilisez 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.
    }
}

En savoir plus