Как пересекать неиндексированную геометрию буфера?Я хочу обнаружить пересечение между двумя разными сторонами двух разных неиндексированных буферных геометрий.Я установил луч от середины каждой грани, но Raycaster не работает с неиндексированной геометрией.
Я хочу видеть такой результат: ![enter image description here](https://i.stack.imgur.com/Lzfh3.png)
Большое спасибо!
мой код
var box = new THREE.Mesh(geometry.toNonIndexed(), material);
var raycaster = new THREE.Raycaster();
var intersects = [];
var pos = box.geometry.attributes.position;
var ori = new THREE.Vector3();
var dir = new THREE.Vector3();
var a = new THREE.Vector3(),
b = new THREE.Vector3(),
c = new THREE.Vector3(),
tri = new THREE.Triangle();
var faces = pos.count / 3;
for (let i = 0; i < faces; i++) {
a.fromBufferAttribute(pos, i * 3 + 0);
b.fromBufferAttribute(pos, i * 3 + 1);
c.fromBufferAttribute(pos, i * 3 + 2);
tri.set(a, b, c);
tri.getMidpoint(ori);
tri.getNormal(dir)
// scene.add(new THREE.ArrowHelper(raycaster.ray.direction, raycaster.ray.origin, 30, 0xff0000));
raycaster.set(ori, dir);
intersects = raycaster.intersectObject(box, true);
if (intersects.length > 0) {
console.log(intersects[0]);
}
}