根据显示屏类型更改内容的外观

适用的 XR 设备
本指南可帮助您为以下类型的 XR 设备打造优质体验。
扩展现实头戴设备
有线扩展现实眼镜
音频和
显示眼镜

不同类型的设备具有不同类型的显示特性。您的应用可以检查其运行所在设备的显示特性,以调整内容,确保内容以最佳方式显示。

显示混合模式的类型

DisplayBlendMode 值描述了图像如何叠加在现实世界之上。显示技术从根本上改变了 数字内容与物理世界的融合方式

加色混合

当当前显示混合模式为 ADDITIVE 时,黑色像素会显示为透明。这通常用于具有透明镜片的设备,这些镜片可直接让用户看到周围的环境。设备只能为表面添加更多光线。

具体而言,这意味着通过添加红、绿、蓝三个分量的像素值,将虚拟内容添加到现实世界中。Alpha 通道会被忽略,黑色像素会显示为透明。

Alpha 混合

当当前显示混合模式为 ALPHA_BLEND 时,系统会根据 Alpha 分量对像素值进行 Alpha 混合,从而将虚拟内容添加到现实世界中。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.
    }
}

了解详情