在ThreeJS中预加载纹理和图像

Preload Textures and Images in ThreeJS?

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

我想问是否有一个简单的解决方案可以在ThreeJs中预加载纹理和图像。我将它们全部加载到一个数组中:myTextureArray.push(new THREE.ImageUtils.loadTexture('../textures/floor_red.jpg');

如何检查是否以及何时成功加载所有纹理?

这是一个旧版本的链接:http://museum.baraq.de/

谢谢你的帮助!

Three.js中有一个Loading Manager,可以用来跟踪加载的纹理或对象。

示例实现:

var textureManager = new THREE.LoadingManager();
textureManager.onProgress = function ( item, loaded, total ) {
    // this gets called after any item has been loaded
};
textureManager.onLoad = function () {
    // all textures are loaded
    // ...
};
var textureLoader = new THREE.ImageLoader( textureManager );
var myTextureArray = [];
var myTexture = new THREE.Texture();
myTextureArray.push( myTexture );
textureLoader.load( 'my/texture.jpg', function ( image ) {
    myTexture.image = image;
} );

在Three.js r71中测试。