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

Jac*_*k G 2 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); 
});
Run Code Online (Sandbox Code Playgroud)

Don*_*rdy 5

根据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);
});
Run Code Online (Sandbox Code Playgroud)