【发布时间】:2021-04-08 20:11:05
【问题描述】:
AFrame/three.js 中是否有一种方法可以检查用户是否真的在 Oculus Quest 等 VR 设备上查看程序,而不仅仅是在 PC 上使用网页? 特别是是否可以读回设备 ID,例如 AFrame 中的 Quest ID? 我的问题是,我真的想确保用户在 VR 耳机中运行该程序,而不仅仅是在基于 PC 的浏览器上运行它。
谢谢。
【问题讨论】:
AFrame/three.js 中是否有一种方法可以检查用户是否真的在 Oculus Quest 等 VR 设备上查看程序,而不仅仅是在 PC 上使用网页? 特别是是否可以读回设备 ID,例如 AFrame 中的 Quest ID? 我的问题是,我真的想确保用户在 VR 耳机中运行该程序,而不仅仅是在基于 PC 的浏览器上运行它。
谢谢。
【问题讨论】:
我的问题是,我真的想确保用户在 VR 耳机中运行程序,而不仅仅是在基于 PC 的浏览器上运行。
您可以检查用户是否处于 XR 模式,而不是嗅探硬件详细信息(有充分理由无法读出 Quest ID)。这可以通过评估isPresenting 标志来完成:
console.log( renderer.xr.isPresenting );
【讨论】:
a-frame 有一个简洁的实用功能用于 quest AFRAME.utils.device.isMobileVR(),如果浏览器是oculusBrowser 或 firefoxReality.