将一个模型多次加载到场景中

时间:2014-02-20 10:24:24

标签: javascript three.js

即时加载一个模型数百次:

var loader = new THREE.JSONLoader();
loader.load(model, load_func);

和load_func正在执行此操作:

var mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) );
scene.add( mesh );

我想知道这是多次将模型加载到场景中的正确方法,也许我应该只创建一次网格,然后在不同的位置多次将它添加到场景中?

我也想知道网络流量是否很重,如果服务器上有型号,loader.load会下载100次吗?

1 个答案:

答案 0 :(得分:0)

是的,这不是正确的方法。你应该这样做:

var loader = new THREE.JSONLoader();
loader.load(model, load_func);
function load_func(){
  var mesh = new THREE.Mesh( geometry, new THREE.MeshFaceMaterial( materials ) );
  for(var i = 0; i < 100; i++){
    var mesh_new = mesh.clone();
    // Set position here!
    scene.add( mesh_new );
  }
}