在A-Frame中,我想检测用户是否连接了VR耳机并告诉他们正在使用哪个设备。我怎样才能做到这一点?

  • 桌面(不显示VR)
  • Mobile(例如,通过WebVR填充的Google Cardboard,iPhone,Android)
  • 三星GearVR
  • Oculus Rift
  • HTC Vive
  • 最佳答案

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

    与移动设备相关的utils查看navigator.userAgent。与VR相关的utils会检查从头戴式耳机/聚合物填充器返回的姿势数据是否不是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

    关于aframe - 如何在A帧中检测台式机,移动设备,GearVR,Oculus Rift和Vive?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38984951/

    10-11 09:16