【问题标题】:loading one model multiple times to the scene将一个模型多次加载到场景中
【发布时间】:2014-02-20 20:19:38
【问题描述】:

我像这样加载一个模型数百次:

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 次吗?

【问题讨论】:

    标签: javascript three.js


    【解决方案1】:

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

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

    【讨论】:

    • 所以我的代码也会下载模型 100 次,而你不会?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    相关资源
    最近更新 更多