0

我使用three.js r59,尝试复制加载的模型时遇到问题。我想要实现的是循环并创建几个模型。我会担心稍后将纹理应用于它们..

   for (var i=0; i<5-1; i++){

     var loader = new THREE.OBJLoader( );
     loader.load( 'mod/bookH.obj',function ( object ) {
     object.traverse( function ( child ) {
     if ( child instanceof THREE.Mesh ) {
         child.castShadow = true;
         console.log(i);
         //child.material.map = texture;  //dont need right now

        }

    } );
        //below works
            object.position.set( 1 * 0, 0, 5 );
        scene.add( object );

            //below doesn't work and no error...
            var testMesh = new.THREE.Object3D(object);
            scene.add(testMesh);


    });  
    }
    }
4

1 回答 1

0

如果你想要同一个网格的 N 个实例,你不需要加载它们 N 次;只需加载一次,然后创建 N 个具有相同几何形状的新网格。

我对类似问题的回答:如何在threejs中克隆collada模型?

希望这可以帮助

于 2013-10-25T23:10:27.163 回答