2
loader.load( 'path/to/collada.dae', function ( collada ) {
  // This function is called, when collada were loaded.

});

しかし、テクスチャがロードされたときに関数を呼び出す方法は?

4

1 に答える 1

1

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;
        };
    }
});

これにより、各テクスチャが読み込まれると、「読み込まれた画像」がコンソールに出力されます。

于 2012-07-26T14:13:24.227 に答える