如何将 ColladaLoader 加载的模型存储在 Three.js 中?
How to store Model loaded by ColladaLoader in Three.js?
自从 Three.js 迁移(r68 -> r69)以来,ColladaLoader returns 一个场景而不是 Object3D。现在如何获取加载的 Object3D?我想将加载的对象存储在一个 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' );
}
);
ColladaLoader returns 一个场景,因为加载的模型不是创建为 3DObject。 ColladaLoader 创建一个新场景,添加到您的场景中,包括加载的 .dae-Model。 (现在是 returns 一组)那是因为不是每个模型都是一个 Object。检查您加载的 dae.scene 的子项,这很有帮助。
自从 Three.js 迁移(r68 -> r69)以来,ColladaLoader returns 一个场景而不是 Object3D。现在如何获取加载的 Object3D?我想将加载的对象存储在一个 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' );
}
);
ColladaLoader returns 一个场景,因为加载的模型不是创建为 3DObject。 ColladaLoader 创建一个新场景,添加到您的场景中,包括加载的 .dae-Model。 (现在是 returns 一组)那是因为不是每个模型都是一个 Object。检查您加载的 dae.scene 的子项,这很有帮助。