Javascript Three.js OBJLoader非常慢
我用OBJMTLLoader加载了一些obj格式的模型,所有这些模型大约有8个模型,其中一些大小约为2.5MB,这些模型需要很长时间才能加载,以至于页面会崩溃并按下等待多次才能加载,我在localhost上运行页面,这非常奇怪。 代码如下: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
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有问题吗?