Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Three.js OBJLoader非常慢_Javascript_Three.js - Fatal编程技术网

Javascript Three.js OBJLoader非常慢

Javascript Three.js OBJLoader非常慢,javascript,three.js,Javascript,Three.js,我用OBJMTLLoader加载了一些obj格式的模型,所有这些模型大约有8个模型,其中一些大小约为2.5MB,这些模型需要很长时间才能加载,以至于页面会崩溃并按下等待多次才能加载,我在localhost上运行页面,这非常奇怪。 代码如下: function loadobj(oid){ return function (object){ var o=farr.filter(function(row){ if(row.oid===oid){ retu

我用OBJMTLLoader加载了一些obj格式的模型,所有这些模型大约有8个模型,其中一些大小约为2.5MB,这些模型需要很长时间才能加载,以至于页面会崩溃并按下等待多次才能加载,我在localhost上运行页面,这非常奇怪。 代码如下:

function loadobj(oid){
return function (object){
    var o=farr.filter(function(row){
        if(row.oid===oid){
            return true;
        }
        else return false;
    });
    for(var i=0;i<o.length;i++){
        var ob=object.clone();
        ob.position.x=o[i].x;
        ob.position.z=o[i].y;
        ob.position.y=0;
        ob.rotation.y=o[i].r;
        ob.userData.period=o[i].period;
        ob.userData.id=o[i].objid;
        ob.userData.oid=o[i].oid;
        ob.userData.level=o[i].level;
        ob.userData.status=o[i].status;
        ob.userData.consumedgold=o[i].consumedgold;
        for(var j=0; j<ob.children.length;j++){
            ob.children[j].userData.parent=ob;
        }
        scene.add(ob);
        objects.push(ob);
    }
    alert("loaded"+" / "+oid);
    document.getElementById("sload").innerHTML="Complete" ;
}
}

function setupobjects(){
    var ides=[];
    for(var i=0;i<farr.length;i++){
        var it=ides.filter(function(row){
            if(row===farr[i].oid){
                return true;
            }
            else return false;
        });
        if(it.length===0){
            ides.push(farr[i].oid);
        }
    }
    for(var i=0;i<ides.length;i++){
        var onProgress = function ( xhr ) {
            if (xhr.lengthComputable ) {
                var percentComplete = xhr.loaded / xhr.total * 100;
                document.getElementById("sload").innerHTML="All: "+ides.length+" Current Object: "+ (i)+" Percent: "+ Math.round(percentComplete, 2) + '% downloaded' ;
            }
        };
        var onError = function ( xhr ) {};
        THREE.Loader.Handlers.add( /\.dds$/i, new THREE.DDSLoader() );
        var loader = new THREE.OBJMTLLoader();
        loader.load( "resources/models/"+ides[i]+".obj", "resources/models/"+ides[i]+".mtl",  loadobj(ides[i]), onProgress, onError );
    }
}
函数加载对象(oid){
返回函数(对象){
var o=farr.filter(函数(行){
if(row.oid==oid){
返回true;
}
否则返回false;
});

对于(var i=0;iI删除了超过1 MB的文件,但仍然存在相同的问题,所有从SketchUp导出的模型都作为obj模型,所有对象都添加到场景中,但最后一个除外。我从clara.io下载了一些不同大小的obj格式的模型,大小约为1 MB,问题消失了!我下载了mazda6模型7MB,它加载了它tantly!!SketchUp有问题吗?