Javascript 三个js进程加载OBJMTLLoader
我想要一个方法来获得在three.js中加载.obj和.mtl文件的进度 在以前的版本(如r53)中,我是通过以下方式实现的: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版本,我不能用这段
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回调,希望它能在某个时候合并。