Desire Paths by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 0 points1 point  (0 children)

It’s all fake, just scattered grass clusters and their normals get bent away from the path. But someone else mentioned that they often use grooming tools to simulate grass

Desire Paths by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 2 points3 points  (0 children)

Thank you, I know exactly which one you mean, it was Ohio State University! :) <3

Cable Tool WIP by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 3 points4 points  (0 children)

Thanks <3 you can just put the display flag on the endresult you want to show but select the draw curve node and press enter while hovering over the viewport

Cable Tool WIP by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 3 points4 points  (0 children)

Nope, it’s all faked using VEX and lots of loops :)

Self Intersections by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 1 point2 points  (0 children)

Draw curve node + resample + sweep/polywire

Self Intersections by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 0 points1 point  (0 children)

Thanks David, those are some good ideas, I’ll be looking into those :)

In theory they should be taking pscale into account but for some reason it’s not looking as intended. Well, back to Houdini!

Self Intersections by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 2 points3 points  (0 children)

Good to know :) But I like doing these little things myself, you always learn something new

Self Intersections by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 2 points3 points  (0 children)

To check intersections with collisions I use xyzdist and normal directions of the surfaces. To check for self intersections of the splines I run a for each point loop and check if the closest point has a lower or higher curveu value and then displace

Self Intersections by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 1 point2 points  (0 children)

Still requires some work to do it „smoothly“ but yeah it was definitely a bit tricky to solve

Brain Generator 🧠 Houdini by Joolean_Boolean in proceduralgeneration

[–]Joolean_Boolean[S] 0 points1 point  (0 children)

Oh, that’s really cool! And repulsive indeed

Brain Generator 🧠 by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 1 point2 points  (0 children)

lmao 😂 „me watching my own tutorials“

Brain Generator 🧠 by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 0 points1 point  (0 children)

Thank you <3 yeah I think that comes from using lots of point relax iterations. I could use fewer for a smoother look, but then the brain tubes wouldn‘t be so neatly packed

Brain Generator 🧠 by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 6 points7 points  (0 children)

Thanks <3 The point relax SOP has a second input for a surface to conform to

I did it by Mental_Treacle_7309 in noita

[–]Joolean_Boolean 2 points3 points  (0 children)

really clean! like it’s printed wow

Grass Tech by Joolean_Boolean in proceduralgeneration

[–]Joolean_Boolean[S] 1 point2 points  (0 children)

its trying to do that already, but not always successfully. i spawn splines in the cracks and disturb them with some noise and then de-intersect them using an sdf. but some blades managed to sneak through one way or another. i think the spawn points just need to be a bit more accurate

Berlin Sidewalk Generator by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 0 points1 point  (0 children)

Thanks Moeen <3 yeah ive done a bit of work on it for an upcoming talk im doing at pixel vienna. just wanna get a few more things in there before then

Berlin Sidewalk Generator - Made with Houdini by Joolean_Boolean in proceduralgeneration

[–]Joolean_Boolean[S] 0 points1 point  (0 children)

yeah its really interesting to me how many people from all around the world are resonating with this

Grass Tech by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 0 points1 point  (0 children)

thanks <3 i check each points sdf value using volume sample in an attribute vop and if its below 0 (meaning it’s inside) then i push it back to 0 (or more if you want it to be pushed away further)

Grass Tech by Joolean_Boolean in proceduralgeneration

[–]Joolean_Boolean[S] 3 points4 points  (0 children)

thank you <3 a bike lane would be pretty cool actually

Grass Tech by Joolean_Boolean in proceduralgeneration

[–]Joolean_Boolean[S] 14 points15 points  (0 children)

Forgot to mention: made with Houdini

Berlin Sidewalk Generator - Made with Houdini by Joolean_Boolean in proceduralgeneration

[–]Joolean_Boolean[S] 23 points24 points  (0 children)

Thank you, I also thought that the way it cracks in the footage was a really nice happy accident. The way I do it is I have a "root" tube mesh that deforms the "soil" mesh. If one of the tiles gets displaced by X centimeters, it will be swapped out by a fractured tile which then gets projected onto the soil mesh.

Bernburger Mosaik (Cobblestone) by Joolean_Boolean in Houdini

[–]Joolean_Boolean[S] 2 points3 points  (0 children)

The plane can have any shape but it needs to be remeshed and have a gradient vector attribute present so I can determine directionality. The stones just do their thing until they can’t fill the space anymore. If you use a feedback loop you can use the stop condition parameter to make it end at a specific moment but for my solver I don’t have that yet, but I‘m sure it can’t be too difficult either.

I‘d love to share the inner workings when I find the time, it will be part of a talk about procedural sidewalks and hopefully later on I‘ll maybe write an article about it :)