2013-05-02 2 views

답변

8

당신은로드 프로세스를 관리하기 위해이 같은 패턴을 사용할 수는 대신

THREE.DefaultLoadingManager.onProgress = function (item, loaded, total) { 
    console.log(item, loaded, total); 
}; 

:

var manager = new THREE.LoadingManager(); 

manager.onStart = function(item, loaded, total) { 

    console.log('Loading started'); 

}; 

manager.onLoad = function() { 

    console.log('Loading complete'); 

}; 

manager.onProgress = function(item, loaded, total) { 

    console.log(item, loaded, total); 

}; 

manager.onError = function(url) { 

    console.log('Error loading'); 

}; 

var loader = new THREE.TextureLoader(manager); 

var texture = loader.load('texture.jpg', function (texture) { 

    texture.wrapS = texture.wrapT = THREE.RepeatWrapping; 
    texture.repeat.set(2, 2); 

}); 

var loader = new THREE.OBJLoader(manager); 

loader.load('file.obj', function(object) { 

    // your code 

}); 

three.js를 r.85

+0

이 예제는 너무 혼란 스럽습니다. JsonLoader에 추가 할 수있는 이벤트 나 무언가가 그곳과 얼마나 멀리 있는지 알 수 있습니까? – user2287949

+0

내가 필요로하는 것은 내 모델과 텍스처를 모두로드 한 시점을 알려주는 방법입니다. 이 예제들은 너무 유용해서 실제로 유용하다고 말할 수는 없습니다. 나는 이미 완성 된 프로젝트를 가지고 있으며 이러한 예제 중 하나를 따르기 위해 많이 바꿔야 할 것입니다. – user2287949

+0

모델이 완료 될 때 콜백 함수가 호출된다는 사실을 알았 기 때문에 모든 콜백 함수가 호출되면 모든 것이로드를 완료했음을 짐작하게됩니다. 나는 이것을 시험해 볼 것이다. – user2287949

8

필요한 최소 코드는 바로 이것이다 예를 들어 콘솔에 인쇄하는 경우 "loaded == total"이라는 렌더링 루프를 시작할 수 있습니다. 또는로드 표시기를 업데이트 할 수 있습니다. (코드는 예제 중 하나입니다.)

관련 문제