微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

THREE.js EdgesGeometry / LineSegments 显示多条线

如何解决THREE.js EdgesGeometry / LineSegments 显示多条线

我有一个 BufferGeometry 从中提取边缘并显示线条:

const geometry = new THREE.BufferGeometry();
geometry.setAttribute('position',new THREE.BufferAttribute(vertices,3));
const edges = new THREE.EdgesGeometry(geometry);
const line = new THREE.Linesegments(edges,new THREE.LineBasicMaterial({ color: 0xc4eaff }));
scene.add(line);

现在我有一个相当复杂的形状。从这个形状中提取出不存在的边缘(见下图)。我的第一个想法是,我的形状可能有一些小孔,但是当我显示整个网格时,我看不到任何孔。

有没有人知道为什么会这样?

线段:

enter image description here

网格:

enter image description here

如果需要,这里是显示网格的代码

const geometry = new THREE.BufferGeometry();
geometry.setAttribute('position',3));
const mesh = new THREE.Mesh(geometry,new THREE.MeshBasicMaterial({color: 0x77a6f2,side: THREE.DoubleSide}));
scene.add(mesh);

带有 Linesegments 叠加层的网格(由于可见性,只有一部分):

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。