Procedural Roads in Houdini and Unity

As part of pre-production on an unannounced game for iOS and Android, I did some research into using Houdini FX and the newly released Houdini Engine plugin for Unity to generate big city blocks.

The toolset allows artists and designers to create city blocks by drawing curves and junctions directly within Unity. The data from unity is pushed to the Houdini Engine, which outputs various meshes and materials back into Unity.

This video shows the setup in Houdini, before I did the integration into Unity.

The next video demonstrates the usage of these houdini digital assets directly in Unity. It is using a custom plugin that I wrote to interface with a houdini instance in the background. A HoudiniOTLComponent script draws an inspector with the same settings exposed to the digital asset in houdini.

To fix seams and repetition, I developed custom decal tools for unity too. The decal is rendered using a cut-out mesh, with a alpha-blend/alpha-test version of the shader of the target meshes.

These recordings and images are from pretty early on in production, so it doesn’t reflect the final art for this game.

Work in Progress Shots