使用三.js纹理的进度加载

onProgress loading for textures with Three.js

本文关键字:加载 纹理 js      更新时间:2023-09-26

嗨,我在为场景加载纹理时生成加载消息时遇到一些问题。 onProgress 控制台.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回调。因此,如果您加载一个纹理,它将调用一次。你可以在这把小提琴中看到这一点。

要使用回调,您可以在调用 load 方法时将其作为第二个参数传递:

loader.load(
    url,
    onLoad
);

这意味着您无法看到单个图像的进度,而只是用于监视使用同一加载器管理器加载多个纹理时的进度。