diff --git a/examples/js/vr/WebVR.js b/examples/js/vr/WebVR.js index 3defef94cbff4250b304b7718144afce554febd1..9bf6ebf5cfcb7bdfedaa2ddf8831275a4f355e7e 100644 --- a/examples/js/vr/WebVR.js +++ b/examples/js/vr/WebVR.js @@ -9,6 +9,9 @@ var WEBVR = { createButton: function ( renderer, options ) { + if ( options === undefined ) options = {}; + if ( options.frameOfReferenceType === undefined ) options.frameOfReferenceType = 'stage'; + function showEnterVR( device ) { button.style.display = ''; @@ -28,7 +31,7 @@ var WEBVR = { }; - renderer.vr.setDevice( device ); + renderer.vr.setDevice( device, options ); } @@ -38,9 +41,6 @@ var WEBVR = { function onSessionStarted( session ) { - if ( options === undefined ) options = {}; - if ( options.frameOfReferenceType === undefined ) options.frameOfReferenceType = 'stage'; - session.addEventListener( 'end', onSessionEnded ); renderer.vr.setSession( session, options ); diff --git a/src/Three.Legacy.js b/src/Three.Legacy.js index 1764973b7c51a0f1dd6a0f6d8f00e151c990bf49..f2822dd15869ae6513cde33d420062e494472cb5 100644 --- a/src/Three.Legacy.js +++ b/src/Three.Legacy.js @@ -1683,6 +1683,27 @@ Object.defineProperties( WebGLRenderTarget.prototype, { // +Object.defineProperties( WebVRManager.prototype, { + + standing: { + set: function ( /* value */ ) { + + console.warn( 'THREE.WebVRManager: .standing has been removed.' ); + + } + }, + userHeight: { + set: function ( /* value */ ) { + + console.warn( 'THREE.WebVRManager: .userHeight has been removed.' ); + + } + } + +} ); + +// + Audio.prototype.load = function ( file ) { console.warn( 'THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.' ); diff --git a/src/renderers/webvr/WebVRManager.js b/src/renderers/webvr/WebVRManager.js index 9ce3d8206d22b9b232c5fe3e7f6b5accd04e378e..4b1c8d4ef3ee2de072233a1160dd84d0d687765b 100644 --- a/src/renderers/webvr/WebVRManager.js +++ b/src/renderers/webvr/WebVRManager.js @@ -24,6 +24,8 @@ function WebVRManager( renderer ) { var standingMatrix = new Matrix4(); var standingMatrixInverse = new Matrix4(); + var options = { frameOfReferenceType: 'stage' }; + if ( typeof window !== 'undefined' && 'VRFrameData' in window ) { frameData = new window.VRFrameData(); @@ -173,8 +175,6 @@ function WebVRManager( renderer ) { // this.enabled = false; - this.userHeight = 1.6; - this.standing = false; this.getController = function ( id ) { @@ -200,11 +200,12 @@ function WebVRManager( renderer ) { }; - this.setDevice = function ( value ) { + this.setDevice = function ( _device, _options ) { - if ( value !== undefined ) device = value; + if ( _device !== undefined ) device = _device; + if ( _options !== undefined ) options = _options; - animation.setContext( value ); + animation.setContext( _device ); }; @@ -218,7 +219,7 @@ function WebVRManager( renderer ) { if ( device === null ) { - camera.position.set( 0, scope.userHeight, 0 ); + camera.position.set( 0, 1.6, 0 ); return camera; } @@ -230,7 +231,7 @@ function WebVRManager( renderer ) { // - if ( this.standing ) { + if ( options.frameOfReferenceType === 'stage' ) { var stageParameters = device.stageParameters; @@ -240,7 +241,7 @@ function WebVRManager( renderer ) { } else { - standingMatrix.makeTranslation( 0, scope.userHeight, 0 ); + standingMatrix.makeTranslation( 0, 1.6, 0 ); } @@ -292,7 +293,7 @@ function WebVRManager( renderer ) { standingMatrixInverse.getInverse( standingMatrix ); - if ( this.standing ) { + if ( options.frameOfReferenceType === 'stage' ) { cameraL.matrixWorldInverse.multiply( standingMatrixInverse ); cameraR.matrixWorldInverse.multiply( standingMatrixInverse ); diff --git a/src/renderers/webvr/WebXRManager.js b/src/renderers/webvr/WebXRManager.js index c829015fe44f512e38aa08e3f21fc9074b09c2d3..6437963f78ae117df3a15554f878ffd031e1e3ff 100644 --- a/src/renderers/webvr/WebXRManager.js +++ b/src/renderers/webvr/WebXRManager.js @@ -71,10 +71,10 @@ function WebXRManager( renderer ) { }; - this.setDevice = function ( value ) { + this.setDevice = function ( _device ) { - if ( value !== undefined ) device = value; - if ( value instanceof XRDevice ) gl.setCompatibleXRDevice( value ); + if ( _device !== undefined ) device = _device; + if ( _device instanceof XRDevice ) gl.setCompatibleXRDevice( _device ); }; @@ -94,9 +94,9 @@ function WebXRManager( renderer ) { } - this.setSession = function ( value, options ) { + this.setSession = function ( _session, _options ) { - session = value; + session = _session; if ( session !== null ) { @@ -106,9 +106,9 @@ function WebXRManager( renderer ) { session.addEventListener( 'end', onSessionEnd ); session.baseLayer = new XRWebGLLayer( session, gl ); - session.requestFrameOfReference( options.frameOfReferenceType ).then( function ( value ) { + session.requestFrameOfReference( _options.frameOfReferenceType ).then( function ( _frameOfRef ) { - frameOfRef = value; + frameOfRef = _frameOfRef; renderer.setFramebuffer( session.baseLayer.framebuffer );