Geometry Nodes - Extrude Mesh Problem

Hello all,

Thanks in advance for any insight you might be able to provide here.

I’m trying to use Geometry Nodes to procedurally build parts of a spaceship model, and I’m running into a problem where a Vertex Group selection does not seem to be honored.

First, the working part:

I have an 8-sided cylinder which I am using Extrude Mesh + a Mirror modifier, and Geometry Proximity to dynamically build this structure:

The extrusion is using a Vertex Group which is then extruded on the -X axis, and joins in the middle at another object I have created for that purpose (referenced in the Object Info node).

This operation seems to have worked OK, but the problem I’m running into is when I attempt to extrude a second Vertex Group, which comprises four vertices only - but the extrusion seems to affect more than just those four vertices.

Anyone have any idea what’s going on here? Thank you in advance for your help!

1 Like

I have noticed that sometimes this can happen with vertex groups because of the weight.
a boolean will then trigger on values less than 1,as any value is treated as 1

One solution is to turn boolean to float and use a greater than on selection.

Hope that helps.

3 Likes

Hi, thanks for your post - I apologize, I’m not seeing the connection here - how does the Instances On Points example in your screenshot relate to the Extrude Mesh operation?

I am new to Geometry Nodes so I am a little slow on the understanding.

put your math set to greater than or equals node on that pink line.
Then set the selection on the group to be a float.
Then you will only extrude faces that have a vertex value of 1.

I am still confused - how does the Selection field turn from a Vertex Group selection to a Float value?

I’m trying to understand what is happening on the back-end.

I can’t figure out why a Vertex Group selection would need a “Greater Than” comparison?

Vertex Group isn’t exactly a “selection” (boolean), but “weights” (float in 0 to 1 range).
Some operations that generate new vertices, interpolate the weights on new geometry - and you end up with bigger vertex group than the original (with less than 1, but greater that 0 weights).
“Greater Than” is a means of culling those values.

2 Likes

Vertex groups are assigned with weights, so it is already a float.
image

… so to add to what @stray is saying: Vertex Groups start out as floats; the greater than is what turns those float values into the selection Boolean.

Good luck.

2 Likes

Wait…So Blender’s back-end interpolates these…?!

/facepalm

Okay, thank you very much - I think I understand now :face_with_spiral_eyes:

1 Like

For anyone else who comes across this, be advised that the Toolip for this field indicates it is Boolean but should in fact be treated as Float
image

That tooltip is correct. It is for the selection field, which is Boolean.

This is the cause of your confusion: Vertex Groups are floats. When you drag a noodle to the group input, it takes on the type of the field you dragged the noodle from. Blender will try convert the input field to whatever type it is set to.

So, there is nothing wrong with that tooltip.

Good luck.

2 Likes

Ah ha - this is a great explanation - thank you - this is exactly the explanation I needed!