100% procedural floor plan + number of floors
next up is randomly rounding corners (any word on a bevel node?)
next up is randomly rounding corners (any word on a bevel node?)
Ultra cool. Maybe you could have some blocks that are larger than 1 square. Like 2 squares. To have some variation to the ground level.
Done!
I can also randomly replace a island with a circle and scale itās radius to fix the size of the face that itās āpoppedā from (to add round buildings)
the āroofā mesh section is pretty easy to isolate to do something fancier for that too
added bevel
did some work on the road network
Ultra Nice!
Figured out roofs - next I can repeat 1 more time to fill in the āsquare holesā I bet
Oh yeah, pretty nice. Iām interested to know how you would fill it.
Waht I tried for my roof is converting as a curve the top edges of the extrude. But the face is not complete nor positioned as the same hight (basically it seems that doing that donāt take into account the position offset.
What I did before was extrude on more time and merge by distance to get on center point and level it with the top edge of the extruded roof to have a flat one.
Note so clean.
I noticed that the grid node size and vertices input are unique for the whole node system (you canāt have different size based on attributes for instance)
Is there a workaround this ? Iād like to instantiate multiple grids with different size and subdivisions base on attributes.
What exactly do you mean? That the grid do not have field inputs? That would count for every geometry primitive node, because geometry fields do not exists.
What would be the strategy then to instanciate a grid that has different subdivision depending on the face it is intantiated on.
Basically I want to distribute points on a grid every X units on every faces of my mesh.
Unfortunately, as mentioned, you canāt rely on geometry primitives for what youāre describing.
Curves, point-instances, realize and copy object node (Blender 3.2beta+)ā¦ thatās pretty much what you have to work withā¦ the resample curve has a field input and points are agnostic about dimension so you can generate as many of those as you want.
So, some hopping around between mesh, curve and point context you can do what you describe.
Ok thank you ! I just started looking into geonodes last week so Iām pretty green. Iāll check this out.
Iād have another question but : is it possible to filter a collection based on certain parameters ? Iād like to dinamically instantiate only the collection items that have a certain bounding box aspect ratio, I could do it statically by making multiple collection, and multiple instantiate on points, but In the end Iād like to have an arbitrary numbers of collections and aspect ratio.
Hi!
I am trying to create rain droplets splashing off a surface.
So Iāve instanced a curve around a circle to create the trajectories of the droplets.
Then Iāve instanced those trajectories onto points scattered over a surface
then to animate the droplets I am trimming the end of the curve and instancing a point onto the end point of the same curve.
This way animating the end trimming of the curve, the point will travel along the curve.
Then I use the scene time input with some math to loop a number within 0 and 1 that will drive the animation and the scale of the droplets.
Things work quite well, but I would like to add some randomization to the animation, so that the droplets donāt splash all at the same time. My problem is that the randomization happens on each single curve, and I would like it to happen only on each āclumpā of curves. See the last screenshot
I hope I managed to explain my problem clearly I think itās an ID problem, basically I have to āgroupā the IDs per clump, but now each curve seems to be having a separate IDā¦ How can I fix this?
Thatās tricky with current capabilitiesā¦ e.g. the ābounding boxā produces a non-field output, so you would need realize the collection to use an accumulator per-island to figure out aspect ratios and then you would need to transfer the results from that to āmaskā indices that match on the Instance on Points nodeā¦
Yeah, I would advise just keeping them as separate collections for nowā¦
I think itās not straightforward, and that would be awesome to be able to do that in a simpler way.
You can look at this and see if that would fit your needs :
Thank both you and @zeroskilz Iāll investigate this afternoon
My goal would be to be able to have a basemesh on which i could instantiate modules/a grid of modules based on the aspect ratio of the face. The face would split automatically in subfaces if itās too big for the modules, etc etc
You have to capture the point indices that you spawn the curves from and feed that into the random valueās ID - that will remain consistent per clump.
Good luck
like so?
Doing so the randomness is completely gone, is as if I didnāt plug the random value in the math ADD node. I am attaching the blend file in case anyone would like to check it out Itās supposed to be generating rain droplets on a surface, feel free to use it as you want in case we manage to solve this issue
Surface_Rain_GN_001.blend (1.1 MB)
I tried to connect to the capture attribute geo input pretty much every node but the result is the sameā¦ the randmness is completely gone
I also tried using the index instead of the ID, nothing changes
It has to in-between the Instance on Points and the Realize Instances nodes.
Capture Attributes node only works when it follows the geometry āflowā.
still no luck, unfortunately I only get either per spline randomness or no randomness at all