我正在使用BinaryLoader加载相当大的3d模型(高达6MB),并且我想显示进度信息。
使用loader.showStatus已经是第一步(现在我的应用程序在模型加载时显示“加载”),但我想要显示模型已经加载的百分比。
在阅读BinaryLoader的代码时,我发现了'showProgress‘标志,但是如果我将它设置为true,我会得到多个类似下面这样的错误:
未捕获的错误: InvalidStateError: DOM异常11 xhr.onreadystatechange
在BinaryLoader.js:99行,它对应于:
callbackProgress( { total:长度,已加载: xhr.responseText.length } );
我也尝试过配置loader.onLoadProgress,但是我不知道该怎么做……
提前感谢!
发布于 2016-12-15 01:31:14
3年后,我遇到了和你一样的问题。以下是我的解决方案:
var onLoadComplete= function (geometry) {
model = new THREE.Mesh(geometry, material);
scene.add(model);
//etc
};
var onLoadProgress = function (e) {
var percentage = Math.round((e.loaded / e.total * 100));
jQuery('#some-loader-div').html('Loading ' + percentage + '%')
};
loader.load(file_url, onLoadComplete, onLoadProgress);参考:http://definitelytyped.org/docs/threejs--three/classes/three.jsonloader.html#onloadprogress
希望这对某些人有帮助!
https://stackoverflow.com/questions/16416248
复制相似问题