XRSession:environmentBlendMode 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

XRSession 接口的只读 environmentBlendMode 属性用于标识计算机生成的图像叠加在现实世界上的程度。

这用于区分全沉浸式 VR 会话和 AR 会话,后者在现实世界的透视图像上渲染,可能部分透明。

一个字符串,用于定义虚拟渲染内容如何叠加在现实世界图像之上。

可能的值是

opaque

渲染的图像绘制时不允许任何透视图像。这主要用于全沉浸式 VR 头显,它们完全遮挡了周围环境,用户根本看不到任何现实世界。XRSessionrenderState 属性的 baseLayer 字段中指定的 alpha 值将被忽略,因为渲染图像的 alpha 值都被视为 1.0(完全不透明)。

additive

主要由镜片透明的 AR 设备使用,这些设备允许现实世界直接穿过用户的眼睛。additive 混合模式设计用于设备无法控制背景及其亮度的场景,因为背景不会被数字控制。设备所能做的就是为图像添加更多光线;它无法使事物变暗。因此,黑色被渲染为完全透明,无法使像素完全不透明。与 opaque 设置一样,指定的 alpha 值将被忽略,并被视为 1.0。

alpha-blend

由使用摄像头捕捉现实世界并在屏幕上数字显示以供用户查看的内容的头显或护目镜使用,这提供了一种使用 VR 设备创建 AR 演示的方法。Alpha 混合也可由提供 AR 模式的非可穿戴设备使用,例如使用摄像头捕捉现实世界以用于 AR 应用的手机或平板电脑。由于现实世界以数字方式呈现,每个像素的亮度都可以被控制,无论是现实本身还是渲染的 XR 图像,用户的环境都可以与虚拟环境混合,每个像素的颜色和亮度都可以精确控制。在此模式下,XRSessionrenderState.baseLayer 属性在合成过程中提供了人工层的相对权重。alpha 值为 1.0 的像素被渲染为完全不透明,完全遮挡现实世界,而 alpha 值为 0.0 的像素则完全透明,允许周围环境穿过。

规范

规范
WebXR 增强现实模块 - Level 1
# dom-xrsession-environmentblendmode

浏览器兼容性