//load_Model為需要居中的3D模型 //原理是通過boundingBoxHelper 來計算模型的大小范圍 var hex = 0xff0000; var MD_Length,MD_Width,MD_height;//記錄長寬高 var BaxH = new THREE.BoundingBoxHelper(Load_Model,hex);//創建BoundingBoxHelper BaxH.update();//更新 scene.add( BaxH ); //添加到場景中 MD_Length=BaxH.box.max.x-BaxH.box.min.x; //長 MD_Width=BaxH.box.max.z-BaxH.box.min.z;//寬 MD_height=BaxH.box.max.y-BaxH.box.min.y;//高 //計算模型中心位置 var Cx,Cy,Cz; Cx=BaxH.box.min.x+MD_Length/2; Cz=BaxH.box.min.z+MD_Width/2; Cy=BaxH.box.min.y+MD_height/2; //添加並設置group坐標位置 var group=new THREE.Group(); scene.add(group); group.position.set(0,0,0); group.add(Load_Model);//將模型加入到group中 //計算新模型新位置 根據模型中心位置設置偏移方向 var NewX,NewY,NewZ; if(Cx>=0){ NewX=-Cx; }else{ NewX=Cx; } if(Cy>=0){ NewY=-Cy; }else{ NewY=Cy; } if(Cz>=0){ NewZ=-Cz; }else{ NewZ=Cz; } Load_Model.position.set(NewX,NewY,NewZ);
