Przeglądaj źródła

Editor: Fix viewport camera resize. (#28443)

Michael Herzog 1 rok temu
rodzic
commit
8d1ea27478
1 zmienionych plików z 13 dodań i 7 usunięć
  1. 13 7
      editor/js/Viewport.js

+ 13 - 7
editor/js/Viewport.js

@@ -156,14 +156,24 @@ function Viewport( editor ) {
 
 			const camera = editor.cameras[ uuid ];
 
+			const aspect = container.dom.offsetWidth / container.dom.offsetHeight;
+
 			if ( camera.isPerspectiveCamera ) {
 
-				camera.aspect = container.dom.offsetWidth / container.dom.offsetHeight;
+				camera.aspect = aspect;
+
+			} else {
 
-				camera.updateProjectionMatrix();
+				camera.left = - aspect;
+				camera.right = aspect;
 
 			}
 
+			camera.updateProjectionMatrix();
+
+			const cameraHelper = editor.helpers[ camera.id ];
+			if ( cameraHelper ) cameraHelper.update();
+
 		}
 
 	}
@@ -631,14 +641,10 @@ function Viewport( editor ) {
 
 		const viewportCamera = editor.viewportCamera;
 
-		if ( viewportCamera.isPerspectiveCamera ) {
+		if ( viewportCamera.isPerspectiveCamera || viewportCamera.isOrthographicCamera ) {
 
 			updateAspectRatio();
 
-		} else if ( viewportCamera.isOrthographicCamera ) {
-
-			// TODO
-
 		}
 
 		// disable EditorControls when setting a user camera