xzw 2 роки тому
батько
коміт
a8513791d6
1 змінених файлів з 7 додано та 14 видалено
  1. 7 14
      src/custom/objects/Magnifier.js

+ 7 - 14
src/custom/objects/Magnifier.js

@@ -242,31 +242,27 @@ export default class Magnifier extends THREE.Object3D {//放大镜or望远镜
         
         const fareast = 300;  
         //相机位置
-        if(playerCamera.type == 'OrthographicCamera'){
-            
-            var finalDisToAim = 2
-             
+        if(playerCamera.type == 'OrthographicCamera'){ 
+            var finalDisToAim = 2 
         }else{  
             var finalDisToAim =  dis>magDisMin ? dis > fareast ? magDisMax : (dis-magDisMin) / (fareast-magDisMin) * (magDisMax-magDisMin) + magDisMin :  dis / 2;    //dis>magDistance_ ? magDistance_ : dis / 2;
-            
         }
          
         
-        this.camera.position.copy(aimPos).add(dirToCamera.multiplyScalar(finalDisToAim))
-        this.camera.lookAt(aimPos)
         this.camera.fov = playerCamera.type == 'OrthographicCamera' ? 30 : playerCamera.fov / 2
         this.camera.updateProjectionMatrix()
         
         
         if(playerCamera.type == 'OrthographicCamera'){
-            orthoView.position.copy(this.camera.position)
-         
+            orthoView.position.copy(aimPos).sub(viewer.mainViewport.view.direction.multiplyScalar(finalDisToAim))
             orthoView.yaw = viewer.mainViewport.view.yaw;
             orthoView.pitch = viewer.mainViewport.view.pitch;
             orthoView.applyToCamera(this.camera)
+        }else{
+            this.camera.position.copy(aimPos).add(dirToCamera.multiplyScalar(finalDisToAim))
+            this.camera.lookAt(aimPos) 
         }
 
-
          
         //自身位置 
         //let pos2d = viewer.inputHandler.pointer.clone();   //跟随鼠标 
@@ -277,10 +273,7 @@ export default class Magnifier extends THREE.Object3D {//放大镜or望远镜
         let newPos = new THREE.Vector3(screenPos.x,screenPos.y,0.8).unproject(playerCamera); //z:-1朝外       
         if(playerCamera.type != 'OrthographicCamera'){
             let dir = newPos.clone().sub(playerPos).normalize().multiplyScalar(10);//这个数值要大于playerCamera.near
-                                                                           
-        
-                                                                                                                                                            
-            
+                  
             this.position.copy(playerPos.clone().add(dir))
         }else{
             viewer.navCubeViewer.splitScreen.setShiftTarget(viewer.mainViewport, viewer.bound.center)