我正在对一个场景进行光线投射。
相交对象的几何形状是“BufferGeometry”。相交对象的一部分是
{
distance: 494.77924415158327
face: Face3 {a: 732, b: 733, c: 734, normal: Vector3, vertexNormals: [], …},
faceIndex: 732,
index: 732,
object: Mesh {id: 16, uuid: "F1E299F1-927D-4CD8-ACF6-3A5AA528EACD", name: "collide_main", type: "Mesh", parent: Group, …},
point: Vector3 {x: -3.025193341955971, y: 2.63172597487887, z: -4.237102099257478, isVector3: true, …},
uv: Vector2 {x: 0.46554459963387684, y: 0.6888516128730314, isVector2: true, …}
}
我需要得到那个物体的脸。我正在为此做这个。
var geometry = new THREE.Geometry().fromBufferGeometry( INTERSECTED.object.geometry );
var faces = geometry.faces;
var intersectedFace = faces[INTERESECTED.faceIndex];
但是很多时候,INTERSECTED face 包含一个在 face 中不存在的索引。例如,在上述情况下,INTERSECTED.faceIndex 为 732,但我获得的面仅包含 200 个面的数组。
我怎样才能得到相交的脸。