javascript - 在 ThreeJS 中预加载纹理和图像?

标签 javascript three.js textures preload

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

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

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

感谢您的帮助!

最佳答案

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

示例实现:

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 中测试。

关于javascript - 在 ThreeJS 中预加载纹理和图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155211/

相关文章:

javascript - 如何将其作为字符串而不是 html 元素返回?

javascript - EffectComposer 和 alpha channel 与 three.js

opencv - 图片中特定区域的纹理识别

c# - 如何修改 WebCamTexture 的大小?

android - 在游戏中,如果我从小部件运行,图像会在 Android 设备上消失,但在我第一次安装 apk 时不会

javascript - ReactJS - onClick 不调用 map() 函数内的函数

javascript - 从 Q.all 压缩结果的最佳方式

javascript - 不同的元素正在接收点击,即使 Xpath 是正确且唯一的(Protractor)

javascript - three.js - 管段上的 TubeGeometry + DecalGeometry

THREE.JS:以正确的 z 索引渲染大的、远处的物体,并仍然放大小物体