loader.load( 'path/to/collada.dae', function ( collada ) {
// This function is called, when collada were loaded.
});
しかし、テクスチャがロードされたときに関数を呼び出す方法は?
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;
};
}
});
これにより、各テクスチャが読み込まれると、「読み込まれた画像」がコンソールに出力されます。