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

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

最佳答案

根据GLTFLoader docs ,回调的参数是一个具有包含模型的 .scene 属性的对象。与任何嵌套的 Three.js 对象一样,您可以使用 .traverse() 修改 Material 。

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

关于three.js - 在 Threes.js GLTFloader 中创建模型线框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51072655/

相关文章:

three.js - Sprite 不显示

javascript - 如何将三个.js 网格合并为一个网格?

javascript - Three.js:场景中每个网格的for循环?

dom - 简单的 Three.js 设置不显示任何内容

三.js射线物体交集

javascript - 如何随机化 Three.js 网格中顶点的长度?

javascript - 在三个js中的两个场景之间拖放对象

javascript - 相关模块说明符必须以 “./” 、 “../” 或 “/” 开头

javascript - 将 HTML Canvas 导出为图像序列

Three.js使用framebuffer作为纹理