7
$\begingroup$

How do you tell if verts are inside of another mesh using geometry node and store them as boolean attribute? I tried the attribute Proximity node but it returns absolute distance to object so couldn't tell if the vertex is inside or outside the other mesh. Assume both mesh are manifold.

$\endgroup$

1 Answer 1

16
$\begingroup$

(Updated.. see below)

In Blender 3.0a, there's a Ray Cast node. So you can fire a ray in an arbitrary direction from each point in the modified geometry, seeking only the target geometry. Intervening objects are ignored. 'No hit' returns 0. If-and-only-if the source vertex is inside (a manifold) target, there will be a hit-point, whose normal is backfacing to the ray.

enter image description here.

Update for GN Fields:

enter image description here

(Blender 3.2b)

$\endgroup$
2
  • $\begingroup$ Clever ! I have a feeling this node's going to be used in a wild range of ways :) $\endgroup$
    – Gorgious
    Jul 18, 2021 at 21:41
  • $\begingroup$ @Gorgious Yup! Agreed. I reckon it could often be used to wriggle out of doing tricky maths :) .. I don't know how expensive it is. If the BVH or whatever is already built, maybe not so bad. $\endgroup$
    – Robin Betts
    Jul 18, 2021 at 22:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .