我正在尝试让 Oculus Rift DK2 方向输入与 WebVR 一起使用 - 使用 Three.js 的 VRControls ( examples/js/controls/VRControls.js
) 或直接从PositionSensorVRDevice
.
但是的PositionSensorVRDevice
状态值始终是(Firefox) 或 VRPoint3D/4Ds,x,y,z = 0 (Chrome),因此相机方向永远不会改变。orientation
position
null
我一直在尝试的 Firefox 和 Chrome VR 版本是:
它正在获取 PositionSensorVRDevice OK,尽管它看起来可能不是真实的,因为 Chrome 将其报告为:
- 设备ID:调试-0
- 设备名称:Moculus Rift
- hardwareUnitId:调试-0
FF 将其报告为:
- deviceId:某个设备
- 设备名称:HMD定位设备
- hardwareUnitId:未知HMDInfo-0x1351d4000
Leap Motion VR Quickstart demo和Three.js WebGL Effects VR demo得到了相同的结果。我在几个月前做过的演示中也得到了同样的结果——它不使用 VRControls,而是直接处理 PositionSensorVRDevice。
毋庸置疑,Rift 已全部连接,来自 Oculus Rift Config Util 的演示场景运行良好。我在固件版本 2.12 上。
VRControls 中的相关代码是更新方法——我一直在检查state.orientation
and的值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 );
}
};
任何建议都感激不尽!