xzw vor 1 Jahr
Ursprung
Commit
687ba2a85b
2 geänderte Dateien mit 10 neuen und 6 gelöschten Zeilen
  1. 9 5
      public/lib/potree/potree.js
  2. 1 1
      public/lib/potree/potree.js.map

+ 9 - 5
public/lib/potree/potree.js

@@ -164187,6 +164187,7 @@ ENDSEC
 	          
 	           
 	        if(fileInfo_.fileType == '3dTiles'){
+	            let isGroup = !object.runtime;  
 	            let children = object.runtime ? [object] : object.children;
 	            
 	            
@@ -164213,14 +164214,17 @@ ENDSEC
 
 	                    const scaleX = vecX.length();
 	                    const scaleY = vecY.length();
-	                    const scaleZ = vecZ.length();
-	                    /* boundingBox.expandByPoint(center);
-	                    boundingBox.expandByVector(new THREE.Vector3(scaleX,scaleY,scaleZ)) */
-	                     
+	                    const scaleZ = vecZ.length(); 
 	                    
 	                    boundingBox_.min.set( - scaleX, - scaleY, - scaleZ );
 	                    boundingBox_.max.set( scaleX, scaleY, scaleZ );
 	                    
+	                    if(isGroup){//如果是多个拼成的,每个都保留原先在parent中的offset。 如果是外层,作为独立个体,不用理会位置信息,直接放中央。
+	                        object.position.copy(center);
+	                        object.position.z *= -1;
+	                        boundingBox_.translate(object.position); //由于是内层,其位移会改变整体的boundingbox
+	                    }
+	                    
 	                }else if(json.root.boundingVolume.sphere){
 	                    let sphereData = json.root.boundingVolume.sphere;
 	                    let center = new Vector3(...sphereData);
@@ -164419,7 +164423,7 @@ ENDSEC
 	                    maximumScreenSpaceError: fileInfo.maximumScreenSpaceError || 80,  //越小越清晰。           如果本身tiles很密很小这个值就不能很大。
 	                    //maxDepth: 100, 
 	                    maximumMemoryUsage: 200, //缓存大小。单位M(但实际结果是 2.5*maximumMemoryUsage + 750  。超过2G会崩, 所以应该小于540) 若太小,密集的tile反复加载很卡. (任务管理器刷新网页后若内存不掉就要结束进程否则虚高)
-	                    //debug:true, //show box  
+	                    debug:false, //show box  
 	                    parent: this.scene.scene, 
 	                    is4dkk: fileInfo.is4dkk,//是否是4dkk中的模型. 通常maximumScreenSpaceError需要10
 	                    updateTime: fileInfo.updateTime, //加后缀防止缓存

Datei-Diff unterdrückt, da er zu groß ist
+ 1 - 1
public/lib/potree/potree.js.map