Learn how to make a procedural building in Blender!

Hey everyone!
In this week’s tutorial, learn how to make a procedural building!
What exactly IS a procedural building? Here’s a preview of what you’ll be learning:

AND Here’s the tutorial!

Let me know what you think!


Great tutorial! I probably missed this somewhere, but if you have multiple types of windows, is there a way to procedurally position both of these with the same modifier?

Thanks for the tutorial!

Does anyone know the answer to the question 2 posts above? I think magician only logs in once a week.

Each different type of window would be its own object, so they’d each have their own array modifier…however, it can all be controlled by the same custom property on the controller object…but each array modifier would need their own drivers.

If it’s different kinds of windows for different stories, I think I touched on that in the video, and it’s a pretty easy solution. You can just double the offset of the windows and play with the expression math a bit for the different types of windows for different stories.

If it’s multiple kinds of windows on the same story (like every other window is one of two types), then that gets a bit trickier, but is definitely possible…just a bit complicated to explain in text on a forum. Basically you’d just have the two kinds of windows, and the math would be SIMILAR, you’d just change the parameters for how much space is required between each window for the array modifier count to go up…and you’d have two types of windows each with their own array modifier…offset by one iteration of space…it’s a bit tricky…and Houdini has much better tools for this to be honest.

Hmm. I think I have something wrong with my python, because whenever I click update dependencies, the array sets itself back to 1…

Debug says, “auto run disabled: driver 5.” When I tried to change it to 5. Guess I’ll be sticking with arrays -_-

User prefs>file tick Auto run scripts.

I have got a problem here, at about 18:40. It says that the Array Modifier for the windows should be first about 4 (Constant Offset).
Then you take away the Driver (delete), and you can all of a sudden go down to .8

I can’t do that. It stays at 4 if I want to line up the window with the background image, even though I deleted the driver.

I don’t understand how it is supposed to be different. After all, you placed it at 4 in the first place BEFORE adding the driver. Then you delete the Driver and you line it up with .8 instead. I don’t understand this.

It is like you somewhat missed a step or something.

Please help me!

EDIT: I just watched it again, and it seems you are clearing the Scale.

But you don’t tell people. You just do it, very VERY fast, too fast for me to even notice, even after going through that part of the tutorial (around 18:10-14) 15 times.

One very good trick: If you want to go serious with tutorials, you should do stuff a little slower. It is hard for me to notice what you are doing, and why, and I also need some arguments as to how you are approaching the mathematical equations. I need to know why you are dividing, why you are adding and why you are subtracting etc.

But overall, a very good tutorial :slight_smile:

Hey 3pointedit, where exactly is this in user prefs? I can’t seem to find it.


Is there a workaround for new version of blender 2.79 ? They removed ability to create driver for dimension so im stuck on this step. I tried a workaround with empties and hooks but without success.

Sure, here you go @RobertBanks