I wanted to generate a city using a geometry node set up on this 3d crescent shape. Everything is working fine except for this: The buildings are generating inside the crescent shape. I want them to generate on the outside only. I also want a fill material for the inside of the crescent.

enter image description here

I followed along a sci-fi city youtube tutorial, so my set up is pretty straightforward: All of the buildings are distributed on faces and their origins have been shifted. I have various buildings of different sizes as well, but i muted them to focus on the issue. enter image description here

I'm not sure if I should try to go for a proximity node set up or set up some sort of color ramp and distribute by material. If there's a better way, I'll gladly try it.


1 Answer 1


If you want the points to only distribute on certain faces then you can use vertex groups to accomplish your goal. First, create a vertex group, and select the geometry and faces that you want and assign them to the group. Then in the geometry nodes editor, under the Group tab, create a new input with the + button. Set the type to Boolean. Then in the objects modifier tab, go to the geometry nodes modifier and enter the name of your vertex group into the relevant input port.

Vertex Group

Next, you'll want to link the input that is now connected with your vertex group into the selection input of the [Distribute Points On Faces] node.


Now the points will only distribute on the selected faces as defined by the vertex group. Not entirely sure what you mean by fill material inside the crescent, but if you route the vertex group input into a math node set to less than with its lower value threshold set to 0.1, and its output sent into a [Set Material] node, then you can set a material for every face that isn't in the vertex group.


Hope this helps, good luck with your project.


You must log in to answer this question.

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