2015-01-23 2 views
1

Three.js 마이그레이션 (r68 -> r69) 이후 ColladaLoader는 Object3D 대신 Scene을 반환합니다. 로드 된 Object3D를 지금 어떻게 얻을 수 있습니까? 로드 된 Object를 var에 저장하여 매번 사용하기를 원합니다.ColladaLoader에서 Three.js로로드 한 모델을 저장하는 방법?

   var newpos = Cube.position; 
       var oLoader = new THREE.ColladaLoader(); 
       oLoader.load('models/logo.dae', 
        function(collada) 
        { 
         var object = collada.scene; 
         var skin = collada.skins[0]; 
         object.rotation.x = -Math.PI/2; 
         object.rotation.z = Math.PI/2; 
         object.position.x = newpos.x; 
         object.position.y = newpos.y+1.85; 
         object.position.z = newpos.z; 
         object.scale.set(0.75, 0.75, 0.75); 
         object.updateMatrix(); 
         scene.add(object); 
        }, 
        function (xhr) { 
       //  console.log((xhr.loaded/xhr.total * 100) + '% loaded'); 
        } 
       ); 
+2

3.js r.70에서는 되돌아갔습니다. https://github.com/mrdoob/three.js/commit/28434270e949f36b67b2c46f9d1e667b36b562ce 및 https://github.com/mrdoob/three.js/issues/5754를 참조하십시오. – WestLangley

+1

아,이 변화를 눈치 채지 못했습니다. 감사! –

답변

0

로드 된 모델이 3DObject로 작성되지 않았기 때문에 ColladaLoader가 장면을 반환합니다. ColladaLoader는로드 된 .dae-Model을 포함하여 장면에 추가 된 새 장면을 만듭니다. (이제는 그룹을 반환합니다.) 모든 모델이 하나의 객체가 아니기 때문입니다. 당신이 적재 한 dae.scene의 아이를 확인하십시오, 그것은 많이 도움이됩니다.

관련 문제