2016-10-12 36 views
0

私はthree.jsによって提供されるobj/mtlローダーを使用して、mtlを含む複数のobjファイルをロードしています。 複数のobjをロードする必要があります。しかし、私はそれらを次々にロードする必要があります。私は既にTHREE.DefaultLoadingManager.onProgressを使用して "Loading Screen"を追加しました。しかし、新しいobjを追加するためにループ内でloaded === totalを確認するにはどうすればよいですか?または、再帰関数を使うべきですか?Three.js複数のobjファイルを順次ロード

あなたが私を助けてくれることを願っています。 ありがとう

答えて

2

オブジェクトがロードされるときに呼び出されるコールバック関数があります。ここで、次のロードステップを開始できます。

var index = 0; 
var files = ['file1.obj','file2.obj']; 

var objLoader = new THREE.OBJLoader(); 

function loadNextFile() { 

    if (index > files.length - 1) return; 

    objLoader.load(files[index], function(object) { 

    scene.add(object); 

    index++; 
    loadNextFile(); 

    }); 

} 

loadNextFile(); 

この基本コードは、素材を読み込むために拡張する必要があります。

+0

あなたの助けを借りて、私は最終的にそれを機能させる方法を見つけました。私はコールバック関数を使用しました。どうもありがとう – tinytree

0

THREE.DefaultLoadingManager.onLoadを確認できます。
それは試していない、ジョブを行う必要があります。

関連する問題