爆炸网格并将所有面放在一个列表中

时间:2017-07-03 06:52:33

标签: javascript three.js

我正在尝试从THREE.JSONLoader中加载一个网格并展开该网格以将所有组件面部放入一个列表中。但是,当我尝试使用explode修饰符时,我收到错误。

错误读取:THREE.ExplodeModifier不是构造函数

我是JS的新手,所以我试图找出这个错误究竟意味着什么,但我还是不确定我是如何使用THREE.ExplodeModifier的。

我从this示例中提取了代码。



    //site
    var siteLoader = new THREE.JSONLoader();
    var siteMesh = null;
    siteLoader.load(
     'https://api.myjson.com/bins/zduan',
     function ( geometry, materials ) {
       var material = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true, transparent: true } );
       siteMesh = new THREE.Mesh(geometry,material);
       scene.add(siteMesh);
       renderer.render(scene,camera);
     }
    );
    //explode site

    function explodeSite(){
      if(siteMesh !== null){
        var explodeModifier = new THREE.ExplodeModifier();
        explodeModifier.modify(siteMesh);
        var numFaces = siteMesh.faces.length;
      }
    }




1 个答案:

答案 0 :(得分:0)

THREE.ExplodeModifier不是主要的three.js库文件的一部分,您需要明确地包含ExplodeModifier.js文件。从您链接到的示例:

<script src="js/modifiers/ExplodeModifier.js"></script>