Three.ObjectLoader에 문제가있는 것 같습니다. JSON 형식 4.3으로 씬을 내보내고 있습니다. 이 장면에는 지오메트리, 재료 및 조명이 포함됩니다. 장면이 Three.js 편집기에서 오류없이 잘 열립니다.THREE.ObjectLoader를 사용한 Three.js 오류
저는 Three.js r70 master가있는 Firefox에서 작업하고 있습니다. 다음은 생성 된 JSON에 대한 링크입니다 : https://gist.github.com/fraguada/d86637f7987096b361ea
뷰어에서 내가로드에 대해 다음 코드를 사용하고 작성하는 것을 시도하고있다 :
var manager = new THREE.LoadingManager();
manager.onProgress = function (item, loaded, total) {
console.log(item, loaded, total);
};
// instantiate a loader
var loader = new THREE.ObjectLoader(manager);
loader.load(
// resource URL coming from other file
Name,
// Function when resource is loaded
function (result)
{ scene.add(result.scene); },
// Function called when download progresses
function (xhr)
{ console.log((xhr.loaded/xhr.total * 100) + '% loaded'); },
// Function called when download errors
function (xhr)
{ console.log('An error happened'); }
);
나는 다음을 참조 콘솔에서가 :
THREE.WebGLRenderer 70 three.min.js (line 513)
100% loaded content.js (line 117)
THREE.Object3D.add: undefined is not an instance of THREE.Object3D. three.min.js (line 164)
js/Test83.js 1 1 content.js (line 86)
오류는 줄에 unminified three.js를 나타납니다
7674 내가 형상을 만드는 경우
이 문제가 나타납니다 및 기타 개체를 Three.js 편집기에 저장하고 장면으로 내 보냅니다.
문제는 여기에있는 것 같습니다 : scene.add(result.scene);
THREE.ObjectLoader가 파일에서 JSON을 사용할 수 있다고 가정 할 때 올바르지 않습니까? 내가 게시 코드에서 scene.add(result.scene);
을 제거하면 오류가 나타나지 않으므로 파일로드가 적어도 (데이터로드, 형상이 시각화되지 않음) 보인다. 메쉬가 많은 장면이있는 경우 진행률이 콘솔에 출력됩니다 (10 %로드 됨, 20 %로드 됨 등).
통찰력이 있으면 크게 감사하겠습니다.
p.s. 'result.scene);을 시도하기 전에'result' 객체를 조사하면 파일의 모든 JSON 내용을 볼 수 있습니다. 그래서 그것은 ok를로드하는 것처럼 보인다. 정의되지 않은 중요한 객체를 추적하여 차이가 나는지 확인합니다. –
result.scene은 결과가 실제로 기존 장면을 대체 할 수있는 주요 원인입니다. 내가 '장면 = 결과'를한다면, 나는 완전한 백인 세계를 얻는다. 객체가 있지만 속성이없는 것처럼 보입니다 (속성이 속성의 일부로 표시 되더라도). 결과의 자식을 살펴보면 메쉬를 장면에 추가하고 기본 평면 재질로 그 메쉬를 가져올 수 있습니다. 그래서 진전을 보이고 있습니다. 결과를 가져 와서 객체 로더와 함께 표시하는 누락 된 더 나은 방법이있는 것처럼 보입니다. –