在threes.js GLTFloader中创建模型的线框

时间:2018-06-27 23:16:08

标签: three.js

我想加载3D模型并在threejs中创建线框。我怎样才能达到这种效果?非常感谢。

这是我现在拥有的代码,但是它不起作用。

var loader = new THREE.GLTFLoader();
loader.load('name.gltf', function(geometry, materials) {
    var material = new THREE.MeshLambertMaterial();
    var mesh = new THREE.Mesh(geometry, material);
    group = new THREE.Object3D();
    group.add(mesh); 
    scene.add(group); 
});

2 个答案:

答案 0 :(得分:3)

根据GLTFLoader docs,回调的参数是一个带有.scene属性的对象,其中包含您的模型。像任何嵌套的three.js对象一样,您可以使用.traverse()修改材料。

var loader = new THREE.GLTFLoader();
loader.load('name.gltf', function(gltf) {
    var object = gltf.scene;
    object.traverse((node) => {
      if (!node.isMesh) return;
      node.material.wireframe = true;
    });
    scene.add(object);
});

答案 1 :(得分:-1)

var material = new THREE.MeshLambertMaterial({wireframe:true});