Simple play icon Course
Skills Expanded

Procedural Cities with Houdini and Python

by Timothy Stam

This Houdini course covers a feature film approach to procedural city generation. It takes you from start to finish, building your knowledge of Python from the ground up, from elementary to advanced examples, and many other techniques along the way.

What you'll learn

With expectations in VFX ever increasing, everything needs to be bigger, better, and faster than ever before. Huge environments are no exception to this trend.

In this course, Procedural Cities with Houdini and Python, you will learn how to tackle the problem of generating vast CG cities, making use of Python and various Houdini techniques, while maintaining artist control every step of the way.

First, you will be introduced to Python itself, and where and how it can be used in Houdini.
Next, you will learn how to populate a city plan with buildings of various types, block by block, and how to automate this using Python.
Finally, Python is again used to do the heavy lifting on the skyline, building a tool that ensures artist control over the height of buildings.

You will use Python to:

  • Import files from disk
  • Read from and write to files
  • Keep track of what the set-up is doing
  • Build node networks automatically
  • Develop the technology required to make this city generator work internally
By the end of this course, you will output a vast, automatically generated CG city, instanced upon a point cloud containing all the necessary attributes. With this knowledge, you can go big while keeping your memory footprint as small as possible.

Table of contents

Course Overview

Course FAQ

What is procedural city generation?

Procedural city generation is the practice of creating 3d models of a city through a combination of human-generated assets and algorithms, combined with computer-generated randomness and processing power. We will be using small modular 3d buildings, perlin noise, and grid-based spawning.

What are the benefits of procedural generation in computer graphics?

The main advantage of using procedural generation techniques is that it allows the creation of 3d assets algorithmically as opposed to manually. This saves a lot of time and energy.

What will I learn in this course?

In this course you will learn a feature film approach to procedural city generation through:

  • An introduction to Python for Houdini
  • How to populate and automate a city plan
  • Using Python for a skyline
  • Building node networks automatically
  • Developing the technology required for the city generator
  • Much more
Who is this course for?

This course is for anyone who wants to learn how to do procedural city generation, whether for games, films, or other projects. It will be especially useful for VFX specialists.

Are there prerequisites to this course?

If you have prior knowledge of or experience with Python or Houdini, that will be helpful, but is not necessarily required.

About the author

Timothy is currently an FX TD at Framestore, having worked as such before at MPC, Electric Theatre Collective, and as a TD at Double Negative. Before transferring to VFX he worked as an environment artist. Timothy has worked on the cities for the Yorktown sequence for Star Trek: Beyond, did a variety of FX on Pirates of The Caribbean: Dead Men Tell No Tales, and has worked on a number of commercial projects, both doing FX and building procedural modeling tools. He studied digital effects at Bour... more

Ready to upskill? Get started