Three.js如何通过人脸索引查找人脸的顶点?

时间:2019-03-25 09:12:16

标签: three.js

在Three.js项目中,我有一个使用buffergeometry的网格。

使用raycaster,我可以在特定面中找到与该网格相交的射线的交点。

如何找到此面的顶点位置?

1 个答案:

答案 0 :(得分:2)

使用交集对象的faceIndex属性比使用face更容易。您可以像这样使用它:

var vA = new THREE.Vector3();
var vB = new THREE.Vector3();
var vC = new THREE.Vector3();

var face = intersection.face;
var geometry = intersection.object.geometry;
var position = geometry.attributes.position;

vA.fromBufferAttribute( position, face.a );
vB.fromBufferAttribute( position, face.b );
vC.fromBufferAttribute( position, face.c );

如果您需要世界空间中的顶点,则将这三个向量与对象的世界矩阵相乘。

three.js R102