Hi, I was trying to do simple three-bvh-csg operations like subractions, hollow intersections, using inbuilt Evaluator, subraction,intersection functions. I’m stuck on the evaluator function on aAttr.array.constructor,which i attached here. i have normalized the geometry before computeboundstree using geometry.computeVertexNormals();
It seems you need to define the UV attributes of your geometry. I had a similar issue a while back and was helped by this community.
Now i couldnt use this for multiple models. I have given subtraction code below
is the three-bvh-csg workable for multiple 3d models on subtraction, hollow intersection?
const brushes = models.map((model) => {
const geometry = model.geometry.clone();
if (!geometry.attributes.uv) {
const uvArray = new Float32Array(geometry.attributes.position.count * 2);
geometry.setAttribute(‘uv’, new THREE.BufferAttribute(uvArray, 2));
}
geometry.computeVertexNormals();
(geometry as any).computeBoundsTree({ strategy: SAH });
return new Brush(geometry);
});
let result = brushes[0];
for (let i = 1; i < brushes.length; i++) {
result = evaluator.evaluate(result, brushes[i], SUBTRACTION);
}
const material = new THREE.MeshStandardMaterial({ color: 0xff0000 });
const mesh = new Mesh(result.geometry, material);
groupRef.current?.add(mesh);
here i couldnt get subtraction for multiple models