我正在使用BinaryLoader(最多6MB)加载相当大的3D模型,我想显示进度信息。
使用loader.showStatus已经是第一步(现在我的应用程序在模型加载时显示“正在加载”),但我想显示已加载模型的哪个百分比。
读取BinaryLoader的代码我找到了'showProgress'标志,但是如果我将它设置为true,我会得到多个像这样的错误:
未捕获错误:InvalidStateError:DOM异常11 xhr.onreadystatechange
在BinaryLoader.js:99行,对应于:
callbackProgress({total:length,loaded:xhr.responseText.length});
我也尝试过配置loader.onLoadProgress,但我无法弄清楚如何做到这一点......
提前感谢!
答案 0 :(得分:2)
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);
参考:https://jsfiddle.net/1y5jpcxz/
希望这有助于某人!