在THREE.js中多次添加相同的模型到场景中

Adding the same model to the scene more than once in THREE.js?

本文关键字:模型 添加 js THREE      更新时间:2023-09-26

如何将相同的dae模型多次添加到场景中?

//loading collada model
var soldiers = [];
var loader = new THREE.ColladaLoader();
loader.options.convertUpAxis = true;
loader.load('soldier.dae', function(collada) {
    var dae = collada.scene;
    for(var i=0; i<10; i++){
        var new_soldier = new THREE.Mesh( dae.geometry, dae.material );
        soldiers.push(new_soldier);
        scene.add(new_soldier);
    }
});

错误是:dae.geometrydae.material未定义。我不知道如何解决这个问题。

提前致谢

collada.scene变量是instanceof Object3D,所以它没有几何或材料属性。您需要做的是将for循环替换为:

for(var i=0; i<10; i++)
    scene.add( dae );