图书馆可能不支持此功能。只是想知道是否有人遇到过此事。我试过加载一个obj,没有问题。如果我预压缩为gzip格式,它将不会加载,并且永远不会调用它的回调。很高兴gzip obj文件,因为它们得到了很好的压缩。
代码没有什么特别之处。
var loader = new THREE.OBJLoader(manager);
loader.load(meshUrl, function (sceneObject) {
sceneObject.traverse(function (child) {
if (child instanceof THREE.Mesh) {
child.material = material;
}
});
}, onProgress, onError);
更新
meshUrl如果指向一个未压缩的obj文件的外部URL,则加载正常。 onProgressed调用并按照您的预期行事。 如果指向相同obj的预压缩gzip版本,则会调用onProgress方法,但progress.total始终为0,这导致我的代码放松。
已修复,现在更好地处理进度
答案 0 :(得分:1)
讨厌回答我自己的问题但事实证明onProgress仍被调用,如果内容被gzip压缩,则总值为0。因此,解决方案是将总数存储在其他位置,在这种情况下,db将加载以此方式加载的引用url和calc百分比。 另外,progress参数有一个lengthComputable boolean。