2
loader.load('path/to/collada.dae', function (collada) {
// This function is called, when collada were loaded.
});
但如何调用一个函数,当纹理加载?如何在加载collada纹理时调用函数? (three.js所)
loader.load('path/to/collada.dae', function (collada) {
// This function is called, when collada were loaded.
});
但如何调用一个函数,当纹理加载?如何在加载collada纹理时调用函数? (three.js所)
的ColladaLoader类使用THREE.ImageUtils加载上line 3087纹理。 ImageUtils类has the ability在图像加载时给予回调,但ColladaLoader不使用它。
您可以通过遍历COLLADA场景寻找图像创建一个解决方法。这是一个live demo。相关的代码是:
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;
};
}
});
这会在加载每个纹理时将“图像加载”打印到控制台。