2016-10-12 2 views
0

나는 three.js에서 제공하는 obj/mtl 로더를 사용하여 mtl을 비롯한 여러 obj 파일을로드합니다. 이제 여러 개의 obj를로드해야합니다. 하지만 하나씩 차례로로드해야합니다. 나는 이미 "Loading Screen"을 추가하기 위해 THREE.DefaultLoadingManager.onProgress을 사용했다. 그러나 새 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을 확인할 수 있습니다.
그게 시도하지 않고, 일을해야합니다.

관련 문제