提交 01d7456a 编写于 作者: B Brandon Jones

Updated VRControls/VREffects to match WebVR spec

Will use spec-compliant paths when available and fall back to older
paths when it's not.
上级 f73593b0
......@@ -71,7 +71,11 @@ THREE.VRControls = function ( object, callback ) {
if ( vrInput === undefined ) return;
vrInput.zeroSensor();
if ( 'resetSensor' in vrInput) {
vrInput.resetSensor();
} else if ( 'zeroSensor' in vrInput) {
vrInput.zeroSensor();
}
};
......
......@@ -47,10 +47,23 @@ THREE.VREffect = function ( renderer, done ) {
if ( devices[i] instanceof HMDVRDevice ) {
vrHMD = devices[i];
self._vrHMD = vrHMD;
self.leftEyeTranslation = vrHMD.getEyeTranslation( "left" );
self.rightEyeTranslation = vrHMD.getEyeTranslation( "right" );
self.leftEyeFOV = vrHMD.getRecommendedEyeFieldOfView( "left" );
self.rightEyeFOV = vrHMD.getRecommendedEyeFieldOfView( "right" );
if ( 'getEyeParameters' in vrHMD ) {
var leftEyeParams = vrHMD.getEyeParameters( "left" );
var rightEyeParams = vrHMD.getEyeParameters( "right" );
self.leftEyeTranslation = leftEyeParams.eyeTranslation;
self.rightEyeTranslation = rightEyeParams.eyeTranslation;
self.leftEyeFOV = leftEyeParams.recommendedFieldOfView;
self.rightEyeFOV = rightEyeParams.recommendedFieldOfView;
} else {
// TODO: This is an older code path and not spec compliant.
// It should be removed at some point in the near future.
self.leftEyeTranslation = vrHMD.getEyeTranslation( "left" );
self.rightEyeTranslation = vrHMD.getEyeTranslation( "right" );
self.leftEyeFOV = vrHMD.getRecommendedEyeFieldOfView( "left" );
self.rightEyeFOV = vrHMD.getRecommendedEyeFieldOfView( "right" );
}
break; // We keep the first we encounter
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册