General / 18 February 2020

Houdini Blog #36: Box builder

It has been a while since the last blog post and in this post I wanted to share a tool I have been working on.

The main idea of this tool is to go from a blockout in Unreal Engine 4 to final building. So it is placing modular models for you. Here is a similar tool I saw some time ago: https://80.lv/articles/006sdf-environment-art-procedural-workflow-in-houdini/ 

My inspiration for the buildings it self are from Star Citizen concepts https://www.artstation.com/artwork/xz4L0X 

At the moment this is what I have.

I have also been working on modular models. This is modeled in Houdini and using the star Citizen Decal technique, so all the details you see are from a decal. Added also parallax to the decals to make it more fancy.


One of the first important steps in creating this tool was a decent wall system.

What I mean by that is that you can input boxes and it will create the points where the walls should come. Below here is a small breakdown of this system.

First clean up the input boxes and get the amount of floors. For the amount of floors you can use a divide with a Bricker polygon option. Then looping over each primitive and getting the bottom line. This line represent where the models will be placed and how many. So get the length of the line. There are many options to get the length of a line like using the convert line, resample distance attribute or VEX.

When you have the length of the line now compare it with the wall size and see how many you can fit. So this will be a wrangle with calculating the amount of walls and the rescale value for the walls. Because the walls might be to large or small so play around with the scale of each wall to fit them.

By save an @scale in a wrangle Houdini by default knows what to do with it. Plug in this in a copy to points it will return control in each copy of the scale.

That was it for the post , I hope you enjoyed. Feel free to share feedback or Questions.

Next week I might talk a bit about instancing with Unreal Engine.

And special thanks to my patreons.