您好,我在为场景加载纹理时生成加载消息时遇到了一些问题。 onProgress console.log 消息仅在纹理完全下载时触发,而不是在下载期间触发。
manager = new THREE.LoadingManager();
manager.onProgress = function () {
console.log('loading');
};
manager.onLoad = function () {
console.log('loaded');
};
manager.onError = function () {
console.log('there has been an error');
};
var textureLoader = new THREE.TextureLoader( manager );
var planetTexture = textureLoader.load('/assets/images/planet/{{page.planet}}/{{page.planet}}.jpg');
我浏览了这些示例,但无法弄清楚他们在这个示例中是如何做到的 obj loader
最佳答案
onLoad
回调将为加载程序管理器中的每个项目调用一次。因此,如果您加载一个纹理,它将调用一次。你可以在 this fiddle 中看到这个.
要使用回调,您可以在调用 load
方法时将其作为第二个参数传递:
loader.load(
url,
onLoad
);
这意味着您无法看到单个图像的进度,而只能在使用同一个加载器管理器加载多个纹理时监控进度。
关于javascript - 使用 Three.js 加载纹理的 onProgress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35911834/