1

我正在尝试让 Oculus Rift DK2 方向输入与 WebVR 一起使用 - 使用 Three.js 的 VRControls ( examples/js/controls/VRControls.js) 或直接从PositionSensorVRDevice.

但是的PositionSensorVRDevice状态值始终是(Firefox) 或 VRPoint3D/4Ds,x,y,z = 0 (Chrome),因此相机方向永远不会改变。orientationpositionnull

我一直在尝试的 Firefox 和 Chrome VR 版本是:

它正在获取 PositionSensorVRDevice OK,尽管它看起来可能不是真实的,因为 Chrome 将其报告为:

  • 设备ID:调试-0
  • 设备名称:Moculus Rift
  • hardwareUnitId:调试-0

FF 将其报告为:

  • deviceId:某个设备
  • 设备名称:HMD定位设备
  • hardwareUnitId:未知HMDInfo-0x1351d4000

Leap Motion VR Quickstart demoThree.js WebGL Effects VR demo得到了相同的结果。我在几个月前做过的演示中也得到了同样的结果——它不使用 VRControls,而是直接处理 PositionSensorVRDevice。

毋庸置疑,Rift 已全部连接,来自 Oculus Rift Config Util 的演示场景运行良好。我在固件版本 2.12 上。

VRControls 中的相关代码是更新方法——我一直在检查state.orientationand的值state.position

this.update = function () {

    if ( vrInput === undefined ) return;

    var state = vrInput.getState();

    if ( state.orientation !== null ) {
        object.quaternion.copy( state.orientation );
    }

    if ( state.position !== null ) {
        object.position.copy( state.position );
    }

};

任何建议都感激不尽!

4

1 回答 1

0

糟糕,原来我没有使用最新版本的 Oculus 运行时!我使用的是 v0.4.1 - 我需要升级到 0.4.3 测试版。现在在 FF 和 Chrome 的最新 VR 版本中运行良好。

如果它对其他人有帮助 - 我从 Vlad 在web-vr 邮件列表上的帖子中找到了我需要的版本。

于 2014-11-13T11:47:43.540 回答