zoukankan      html  css  js  c++  java
  • three.js中让模型自动居中的代码如下:

    //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);
  • 相关阅读:
    生成函数代替伯努利数
    关于费用流
    GDOI注意事项
    计算几何 学习笔记
    jzoj5370
    图上的游戏
    小学生语文题
    arcane
    P2305 [NOI2014] 购票
    P3512 [POI2010]PIL-Pilots
  • 原文地址:https://www.cnblogs.com/smedas/p/12450425.html
Copyright © 2011-2022 走看看