소스 검색

WebVRUtils: setProjectionFromUnion() now produces the correct frustum (changed thing blindly though)

Mr.doob 7 년 전
부모
커밋
cf9f8ee16f
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      src/renderers/webvr/WebVRUtils.js

+ 2 - 2
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 );