xzw vor 2 Jahren
Ursprung
Commit
b2881401d1
3 geänderte Dateien mit 9 neuen und 6 gelöschten Zeilen
  1. 2 2
      src/ExtendPointCloudOctree.js
  2. 3 0
      src/Potree.js
  3. 4 4
      src/custom/objects/Magnifier.js

+ 2 - 2
src/ExtendPointCloudOctree.js

@@ -38,11 +38,11 @@ export class ExtendPointCloudOctree extends PointCloudOctree{
         this.transformInvMatrix2 = new THREE.Matrix4;  */
         this.rotateInvMatrix = new THREE.Matrix4; 
         
-        
+        this.material.spacing = this.pcoGeometry.spacing;//初始化一下 以便于设置pointsize
         this.nodeMaxLevelPredict = this.predictNodeMaxLevel()//预测maxNodeLevel  
         this.testMaxNodeCount = this.testMaxNodeCount2 = 0
         
-        this.material.spacing = this.pcoGeometry.spacing;//初始化一下 以便于设置pointsize
+        
         this._visible = true;
         this.pcoGeometry.addEventListener('updateNodeMaxLevel', this.updateNodeMaxLevel.bind(this))
         this.isPointcloud = true    //add

+ 3 - 0
src/Potree.js

@@ -215,6 +215,9 @@ export async function loadMapEntity(datasetId, force){
     
     
     let callback = (dataset_id, floorplanType, data  )=>{
+        
+        if(!data || data.length == 0)return console.log('平面图没有数据', dataset_id, floorplanType )
+        
         //要防止旧的比新的先获取到导致覆盖新的,因为两种type随时可能切换
         if(floorplanType != Potree.settings.floorplanType[dataset_id]) return //如果请求的floorplanType不是当前最新的floorplanType就返回
         

+ 4 - 4
src/custom/objects/Magnifier.js

@@ -6,7 +6,7 @@ import Viewport from '../viewer/Viewport.js'
 import {ExtendView} from "../../viewer/ExtendView.js"; 
 const texLoader = new THREE.TextureLoader() 
 const circleGeo = new THREE.CircleGeometry(1.45,100);
-const sphereGeo = new THREE.SphereBufferGeometry(0.018,10,10);
+const sphereGeo = new THREE.SphereBufferGeometry(0.015,8,8);
  
  
 const magDisMin = 1;//相机离目标位置的距离的分界线,当离得远时要缩小fov以使看到的视野固定(望远镜效果)
@@ -124,12 +124,12 @@ export default class Magnifier extends THREE.Object3D {//放大镜or望远镜
         this.targetPoint.add(new THREE.Mesh(sphereGeo, new THREE.MeshBasicMaterial({ 
             color:"#ff0000",
             transparent:true,
-            opacity:0.5,  
+            opacity:0.6,  
         })))
         this.targetPoint.add(new THREE.Mesh(sphereGeo, new THREE.MeshBasicMaterial({ 
             color:"#ff0000",
             transparent:true,
-            opacity:0.2, 
+            opacity:0.4, 
             depthTest:false  //被遮挡层
         })))
         
@@ -283,7 +283,7 @@ export default class Magnifier extends THREE.Object3D {//放大镜or望远镜
             
             //this.position.copy(playerPos.clone().add(dir))
         }
-        let s = finalDisToAim                        
+        let s = finalDisToAim * this.camera.fov / 30                  
         this.quaternion.copy(playerCamera.quaternion); 
         this.targetPoint.position.copy(aimPos); 
         this.targetPoint.scale.set(s,s,s)