This tool is an example of a simple but powerful tool that takes a mesh input and turns it into Lego-like bricks.
The heart of this tool comes from converting the mesh to a point cloud, and adjusting the spacing to match Lego's 5x6 aspect ratio.
A challenge I ran into was getting the Lego pieces to not generate inside the model to keep it hollow and the poly count low. In order to solve this two 3D volumes are created. One volume is the main exterior and the other is slightly offset inwards that culls the interior pieces and acts as a 3D mask. This mask tells the point cloud where to ignore placing pieces which results in the model being hollow. Part of this system also looks for top-only facing faces to place the extra studs.
The extra studs are procedurally modeled, packed, and put into an assemble node to be randomly distributed along the top of the model. Some of the final results kind of remind me of a chia pet.
This tool also features the ability o use the models original texture as a base for how to color the Lego bricks. This is achieved by taking the models color texture and applying the color to the nearest point in the point cloud. Then when the pieces are copied to the points the color is transferred to the pieces.
The density of the Legos can be adjusted as well to find that perfect size to match your scene. Here are some examples in Unreal using Houdini Engine. The statue features the density options, the Toy Tank and Houdini's Rubber Toy show off the texture feature.
"Head Of Michelangelo's David, Optimised" by Thomas Flynn on Turbo Squid
"3D Toy Tank Low-poly PBR" by HuNtEr_3DdD on Turbo Squid