跳到主要内容

能力

WebXR 通过模块暴露不同能力和新 API,PlayCanvas 将其集成以便使用。

部分能力用于 VR 或 AR,有些则适用于所有沉浸式体验。

已支持的 WebXR 模块​

功能说明
锚点创建相对现实几何体稳定定位的空间锚点。
持久锚点在会话之间保留锚点。
摄像头颜色获取视图颜色纹理。
深度感知获取深度纹理和距离查询,用于现实几何体遮挡虚拟对象及可靠摆放。
DOM 叠加在单目屏幕 AR 视图上叠加 DOM 元素。
手部追踪光学追踪手部各关节。
命中测试对现实几何体投射射线,获取交点位置和方向。
图像追踪动态追踪指定图像的位置和朝向。
输入源控制器、手、屏幕点击、注视等多种输入。
光照估计估计现实主方向光的方向、颜色和强度,并以球谐形式提供环境光。
网格检测获取现实三维网格、位置、方向和语义标签,可表示家具、屏幕、房间等静态几何体。
平面检测获取平面几何、位置、方向、顶点和语义标签,可表示地板、墙、天花板、窗和门等大平面。

实验性功能​

WebXR 持续新增 API,引擎也不断集成,但部分新功能可能稍晚支持。希望试验时,可以通过相关 optionalFeatures 标志启用。

注意

访问内部未公开 API 可能受引擎更新影响,不保证向后兼容。

以下示例启用实验性 WebXR Layers:

app.xr.start(cameraComponent, pc.XRTYPE_VR, pc.XRSPACE_LOCAL, {
optionalFeatures: [ 'layers' ],
callback: (err) => {
if (err) {
console.log(err);
return;
}

if (app.xr.session.renderState.layers) {
// get access to WebXR Layers
}
}
});