有没有办法从three.js QuickHull实例获取顶点数组?

问题描述 投票:0回答:1

我正在尝试从三个网格的quickhull创建一个几何体,但QuickHull实例似乎只有与面部相关的信息。

有没有办法从这个实例获取每个顶点信息?

先感谢您。

const hull = new QuickHull().setFromObject(mesh) //Mesh is an already rendered object
//hull.vertices //this returns the entire geometry instead of the hull's vertices
javascript three.js 3d
1个回答
0
投票

是的,这应该是可能的。试试吧:

const hull = new THREE.QuickHull().setFromObject( mesh );
const vertices = [];

const faces = quickHull.faces;

for ( let i = 0; i < faces.length; i ++ ) {

    const face = faces[ i ];
    let edge = face.edge;

    do {

        const point = edge.head().point;

        vertices.push( point.x, point.y, point.z );

        edge = edge.next;

    } while ( edge !== face.edge );

}

如您所见,我们的想法是使用面的半边,以便按正确的顺序收集所有顶点。

© www.soinside.com 2019 - 2024. All rights reserved.