加载 collada 纹理时如何调用函数?(三.js)

How to call a function, when collada textures were loaded? (Three.js)

本文关键字:函数 collada js 调用 何调用 加载 纹理      更新时间:2024-03-09
loader.load( 'path/to/collada.dae', function ( collada ) {
  // This function is called, when collada were loaded.
});

但是,在加载纹理时如何调用函数呢?

ColladaLoader 类使用 THREE。ImageUtils 在第 3087 行加载纹理。ImageUtils 类能够在加载图像时给出回调,但 ColladaLoader 不使用它。

您可以通过遍历 collada 场景来查找图像来创建解决方法。这是一个现场演示。相关代码为:

THREE.SceneUtils.traverseHierarchy( dae.scene, function (object) {
    if (object.material && object.material.map) {
        object.material.map.image.onload = function() {
            console.log('image loaded');
            object.material.map.needsUpdate = true;
        };
    }
});
这会在加载

每个纹理时将"图像加载"打印到控制台。