【问题标题】:How to detect Desktop vs. Mobile vs. GearVR vs. Oculus Rift vs. Vive in A-Frame?如何在 A-Frame 中检测桌面、移动设备、GearVR、Oculus Rift 和 Vive?
【发布时间】:2016-12-23 10:07:38
【问题描述】:

在 A-Frame 中,我想检测用户是否连接了 VR 耳机并判断他们正在使用哪个设备。我该怎么做?

  • 桌面(无 VR 显示器)
  • 移动设备(例如,webvr-polyfill Google Cardboard、iPhone、Android)
  • 三星GearVR
  • Oculus Rift
  • HTC Vive

【问题讨论】:

    标签: aframe


    【解决方案1】:

    我们可以使用 A-Frame 中的几个实用函数来检测兼容性:https://aframe.io/docs/master/core/utils.html

    移动相关的实用程序查看navigator.userAgent。 VR 相关的工具会检查从耳机/polyfill 返回的姿势数据是否不是 0,0,0。

    鉴于当前的 API:

    • 桌面:!AFRAME.utils.checkHeadsetConnected()
    • 手机:AFRAME.utils.isMobile()
    • GearVR:AFRAME.utils.isGearVR()
    • Oculus Rift:!AFRAME.utils.isMobile() && AFRAME.utils.checkHeadsetConnected()
    • HTC Vive:!AFRAME.utils.isMobile() && AFRAME.utils.checkHeadsetConnected()

    要区分 Rift 和 Vive,请尝试使用 WebVR API 舞台参数https://w3c.github.io/webvr/#interface-vrstageparameters

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多