PositionSensorVRDevice

PositionSensorVRDevice

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

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

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


Firefox 2014-10-18 version
Chromium_WebVR_OSX_SDK_0.4.2.dmg


尽管看起来可能不是真实的位置传感器,但它似乎获得了PositionSensorVRDevice OK,因为Chrome将其报告为:


deviceId:调试-0
deviceName:Moculus Rift
hardwareUnitId:调试-0


FF将其报告为:


deviceId:somedevid
deviceName: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.orientationstate.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 );
    }

};


任何建议深表感谢!

最佳答案

糟糕,事实证明我不是最新版本的Oculus运行时!我使用的是v0.4.1-我需要升级到0.4.3 Beta。现在可以在FF和Chrome的最新VR版本中正常工作。

万一它对其他人有帮助-我从web-vr mailing list上Vlad的帖子中找到了我需要的版本。

09-27 01:20