如何在Three.js中存储由ColladaLoader加载的模型?

时间:2015-01-23 07:02:50

标签: three.js

由于Three.js迁移(r68 - > r69),ColladaLoader返回一个场景而不是一个Object3D。我怎样才能获得加载的Object3D?我希望将加载的Object存储在var中,以便每次都使用它。

                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' );
                    }
                );  

1 个答案:

答案 0 :(得分:0)

ColladaLoader返回一个场景,因为加载的模型是作为3DObject创建的。 ColladaLoader创建一个添加到场景的新场景,包括加载的.dae-Model。 (现在它返回一个组)因为不是每个模型都只是一个对象。检查你加载的dae.scene的孩子,它有很多帮助。