diff --git a/src/renderers/webvr/WebVRUtils.js b/src/renderers/webvr/WebVRUtils.js index bc126837b26896856fed12d5417362c25179d5ae..11d03de531122edccc23ba26bd08d1e039c578a3 100644 --- a/src/renderers/webvr/WebVRUtils.js +++ b/src/renderers/webvr/WebVRUtils.js @@ -40,13 +40,13 @@ function setProjectionFromUnion( camera, cameraL, cameraR ) { // Calculate the new camera's position offset from the // left camera. - var zOffset = ipd / ( Math.abs( leftFovL ) + Math.abs( rightFovR ) ); + var zOffset = ipd / ( leftFovL - rightFovR ); var xOffset = zOffset * leftFovL; // TODO: Better way to apply this offset? cameraL.matrixWorld.decompose( camera.position, camera.quaternion, camera.scale ); camera.translateX( xOffset ); - camera.translateZ( - zOffset ); + camera.translateZ( - zOffset * 2 ); camera.matrixWorld.compose( camera.position, camera.quaternion, camera.scale ); camera.matrixWorldInverse.getInverse( camera.matrixWorld );