I'm experimenting in Geometry Nodes and I'm making a mace/spike club thing. Right now I've added a collection of spikes as instances and then a handle right onto the geometry that i've moved and rotated.

I've made sure the spikes has a Min Distance so that they don't overlap. Is there any way I can add this attribute so that the spikes do not overlap on the handle, too?

Screenshot of mace

enter image description here


I've managed to make them relate to each other like this. Unfortunately this also adds spikes to the handle.

enter image description here enter image description here

  • 2
    $\begingroup$ The Distribute Points on Faces as well as the Instance on Points nodes both have Selection inputs. Why not create a vertex group excluding those vertices which are close to the handle and use that as a selection in one of those nodes? $\endgroup$ Commented Jan 13, 2022 at 9:28
  • $\begingroup$ Sounds like what I want to accomplish, yeah. How do I go about this? I've created a vertex group, added the selection input to the object node and selected the vertex group. I tried both density factor and selection but no luck. i.sstatic.net/NcEJT.png i.sstatic.net/JvuCU.png $\endgroup$ Commented Jan 13, 2022 at 9:56
  • $\begingroup$ Nevermind, I got it. Forgot to weight paint. :- ) Thanks! This worked nicely $\endgroup$ Commented Jan 13, 2022 at 10:02
  • 1
    $\begingroup$ Okay, I didn't actually weight paint... I just made a new vertex group, selected the vertices outside the handle and assigned them to the group. Okay, in weight paint mode this is shown as painted with 1, but painting is not needed ;) And I don't know if this is additional help that you put it in the Density as well, but it shouldn't be necessary. Or I guess you can either use one or the other. $\endgroup$ Commented Jan 13, 2022 at 10:07
  • 1
    $\begingroup$ I'm sorry I didn't think earlier of that. I'll make an answer for that. $\endgroup$ Commented Jan 13, 2022 at 12:12

1 Answer 1


To spare certain areas close to the handle from getting spikes, you can use the Geometry Proximity node together with a Greater Than node. Plug the geometry of the handle into the Target input and the Distance output into the Greater Than node. The Threshold value should be adjusted until no spikes are too close to the handle. The output of the Math node can be used in one of the Selection inputs.

geometry proximity

The default option of the Geometry Proximity node is using Faces, you can change this to Edges or Points. If you e.g. plug a Distribute Points on Faces node between the handle geometry and the proximity check, you can use the density and distribution of those points to measure the distance to the other geometry.

In your case this might not be necessary, but maybe in other scenarios maybe the face resolution might not be high enough or whatever and then you could distribute points on them with a very high density for example.

  • 1
    $\begingroup$ The only thing is, as far as I know the handle can be an external object adressed by an Object Info node to be plugged to the Target input of the Geometry Proximity node. But the Distance is always calculated in relation to the original mesh which is the one from the Group Input, the one you see when you switch to Edit Mode. I have no idea if there is a posiibility to use any other external geometry or a GN internal mesh primitive. $\endgroup$ Commented Jan 13, 2022 at 12:55
  • 1
    $\begingroup$ @BingoBango Seems like the Distance is not necessarily calculated to the original mesh but some GN mesh primitive can be used as well. Just found that out. $\endgroup$ Commented Jan 13, 2022 at 19:17

You must log in to answer this question.

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