XRSession:environmentBlendMode 属性
XRSession
接口的只读environmentBlendMode
属性标识计算机生成的图像是否以及在多大程度上覆盖在现实世界之上。
这用于区分完全沉浸式 VR 会话和在现实世界的直通图像上渲染的 AR 会话,这些会话可能部分透明。
值
一个字符串,用于定义虚拟渲染内容是否以及如何覆盖在现实世界的图像之上。
可能的值有
opaque
-
渲染的图像在绘制时不允许任何直通图像。这主要由完全沉浸式 VR 头显使用,这些头显完全遮挡了周围环境,用户根本看不到任何现实世界。由于渲染图像的所有 alpha 值都被视为 1.0(完全不透明),因此
XRSession
的renderState
属性的baseLayer
字段中指定的 alpha 值会被忽略。 additive
-
主要由具有透明镜片的 AR 设备使用,这些设备允许现实直接穿过用户的眼睛,
additive
混合模式旨在用于设备无法控制背景及其亮度的情况,因为背景没有被数字控制。设备所能做的就是向图像添加更多光线;它无法使事物变暗。因此,黑色被渲染为完全透明,并且无法使像素完全不透明。与opaque
设置一样,指定的 alpha 值会被忽略,并被视为 1.0。 alpha-blend
-
此功能用于使用摄像头捕捉现实世界并将其数字化显示在屏幕上(或用于渲染用户观看内容的屏幕上)的耳机或眼镜,这提供了一种使用 VR 设备创建 AR 演示的方法。非穿戴式设备(例如使用摄像头捕捉现实世界以用于 AR 应用的手机或平板电脑)也可以使用 Alpha 混合来提供 AR 模式。由于现实世界正在以数字方式呈现,因此可以控制每个像素的亮度,无论是现实还是渲染的 XR 图像,用户的环境都可以与虚拟环境混合,每个像素的颜色和亮度都得到精确控制。在此模式下,
XRSession
的renderState.baseLayer
属性在合成过程中提供人造图层的相对权重。Alpha 值为 1.0 的像素完全不透明地渲染,完全遮挡现实世界,而 Alpha 值为 0.0 的像素则完全透明,允许周围环境穿透。
规范
规范 |
---|
WebXR 增强现实模块 - 第 1 级 # dom-xrsession-environmentblendmode |
浏览器兼容性
BCD 表格仅在浏览器中加载