How to scale just one part of a mesh with geometry nodes?

Hey, how can I use geometry nodes to make a parameter to scale only the selected part? I tried doing it as a vertex group with the boolean input but it’s still scaling the whole thing when plugging it into selection of the scale geometry node.

Booleans from float is anything positive… so, a face with 4 vertices where 2 are part of a group will be selected since that face is half part of that group - to limit to faces where all vertices are part of that group you’ll need a float input and you’ll need to test that the face has 100% (i.e. value 1) of its vertices as part of that group:

Alternatively use Face attributes or you can do a tool GN which will operate on the current selection but be destructive.

Good luck.

5 Likes

You wouldn’t happen to know how I can scale them in place? Like if the origin would be in the centre of each face individually. Should I just translate the top-part along with the scaling?

That is a tricky problem since the inner edges need to shrink while the outer edges need to grow… you may have to make something more custom to your setup as the above behavior is the “general” case.

Sorry, I can’t think of an easy way to accomplish that. Hopefully someone else has a solution to that question.

This is the best I could come up with without thinking too much about it:


… Make a inner and outer group and scale the inner by a inverse factor… :man_shrugging:

Sorry for sucky solution.

Thanks a lot! :slight_smile: