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 三个js进程加载OBJMTLLoader_Javascript_Three.js - Fatal编程技术网

Javascript 三个js进程加载OBJMTLLoader

Javascript 三个js进程加载OBJMTLLoader,javascript,three.js,Javascript,Three.js,我想要一个方法来获得在three.js中加载.obj和.mtl文件的进度 在以前的版本(如r53)中,我是通过以下方式实现的: loader = new THREE.OBJMTLLoader(); loader.addEventListener('progress', function ( item ){ console.log( item.loaded, item.total, item ); }); 但是现在,使用r67版本,我不能用这段

我想要一个方法来获得在three.js中加载.obj和.mtl文件的进度

在以前的版本(如r53)中,我是通过以下方式实现的:

loader = new THREE.OBJMTLLoader();

loader.addEventListener('progress', function ( item ){
    console.log( item.loaded, item.total, item );
    });                 
但是现在,使用r67版本,我不能用这段代码做到这一点

我尝试:

var loader = new THREE.OBJMTLLoader();  

loader.load( 'obj/inicial/modelo.obj', 'obj/inicial/modelo.mtl', function(object){
    scene.add( object );
    }, function(item){
        console.log(item);
        }); 
但它不起作用

我在谷歌上搜索了一下,但没有找到任何关于他的信息。有人能帮我吗


下载管理器和onProgress回调应该/将很快在dev和master中可用

对于onProgress,OBJMTLLoader中的onError

用于LoadingManager支持
不推荐使用OBJMTLLoader类,而最新的three.js(r78)使用MTLLoader和OBJLoader,代码如下:

var onProgress=函数(xhr){
if(xhr.Length可计算){
var percentComplete=xhr.loaded/xhr.total*100;
log(Math.round(完成百分比,2)+'%download');
}
};
var onError=函数(xhr){};
添加(/\.dds$/i,新的三个.DDSLoader());
var mtlLoader=new THREE.mtlLoader();
mtlLoader.setPath('obj/male02/');
mtlLoader.load('male02_dds.mtl',功能(材料){
材料。预加载();
var objLoader=new THREE.objLoader();
objLoader.setMaterials(物料);
objLoader.setPath('obj/male02/');
objLoader.load('male02.obj',函数(对象){
object.position.y=-95;
场景。添加(对象);
},onProgress,onError);
});

我希望这些回电很快就可以使用。在我的特殊情况下,加载的OBJ的大小要比我想要的大得多,而且加载过程非常缓慢,在这个过程中,用户的感觉是应用程序被“挂起”。您好,看一看课堂。文档页面上有一个例子。我也尝试过这种方法,但我没有从控制台获得任何数据。似乎LoadingManager类给出了多个加载程序的进度,而不是每个加载程序/文件的进度。如中所示,当每个文件都已完全加载时,将触发progress事件。嗯,似乎OBJMTLLoader类已经发生了很大的变化。我可以确认传递给OBJMTLLoader的构造函数的进度和错误事件函数没有触发。2013年9月12日,班级似乎发生了很大变化。您最好单独加载它们,或者创建自己的类将它们加载到一起。作为记录,我提出了一个pull请求来传递onProgress和onError回调,希望它能在某个时候合并。