This tool started with wanting to figure out how to lay out bricks so that they would overlap correctly when going around corners. A side discovery in the process was how to tile a wall segment by building one side, using copy and transform and blasting alternating bricks (even point numbers on one side, odd on the other). Another project with a lot of scope creep, but a ton of educational problem solving in the process.
The one single tool can build several different kinds of module, and works entirely inside of Unreal so you can build your modular kit on the fly as you develop an environment.
Tons of variables, particularly for the walls. I even surprised myself with what was possible while building the demo environment - the ability to curve walls was added mainly for adding arched ceilings for bridges, but since it would also curve the trims I realized I could do fully circular tower segments with windows.
At a base level, a lot of parameters are driven by the input stone shapes, which have size variations for each type (regular, floor, large stones). The tool builds everything with cubes, which are then measured and grouped by length/width so that the final geometry can be swapped in and distorted if need be for arches and angled trims (take the distorted proxy cube and generate an oriented bounding box - these become the inputs for the point distort on the final geo).
The base stones themselves were also built in Houdini as an exercise in VDBs and edge wear. For materials I kept it pretty simple - a baked normal and packed mask map (edges, cavities, AO), with world aligned Megascans rock textures and some grunge patterns I adapted myself from various alphas in Designer. Finally a bit of vertex color ambient occlusion and random masking that are generated in the tool for extra variation.
Wall parameters and types, including curved walls.
Blocks, stairs and pillars.
Walls of the same height will always tile together. The window/doorway system can do arches of various lengths and curvatures.
Using curved walls to make ceilings for archways. Angled walls can be adjusted to fit stairs of various lengths/heights.
The ruin functionality is fairly primitive but could be expanded upon with fracture booleans on stones and some RBD.
Blocks can be built with and without floor stones, allowing them to be instanced and stacked fairly seamlessly.
A small environment I put together - this was really helpful as a final stage because it allowed me to find and squash a few bugs.