我想加载 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/