The Magic of Houdini

insights

Hello, I am Michael Tsai, a Game Artist here at Schell Games. My 2015 Jam Week project was to evaluate, learn and determine the benefit of using a 3D animation application software called Houdini. Houdini is known as one of the best visual effects software packages for creating feature films and animations. But more than making realistic photos or stylized effect textures for particle systems in game engines like Unity, I wanted to understand what else Houdini could do.

Before jumping into specific subjects, let’s spend a little time talking about how Houdini works behind the scenes. The workflow of Houdini is “Procedural Paradigm.” It is designed so that each node is an operation that acts like a black box with input and output. Users can build a network by connecting and manipulating operators, and view their result at the very end of the network after data flows through. Although it can have a high learning curve, Houdini is widely regarded as a highly interactive visual programming toolkit that makes programming more accessible to artists.

Star particle

Here’s an example of how create a star-shaped effect using particles.

Node graph

Here’s an example of a node graph.

Now that we’ve got a little taste how Houdini operates, let’s talk about one of the unique tools Houdini offers, L-system. (Also called Lindenmayer system) This tool uses mathematical language grammar to model the growth process, like complex plant development. Below is an example of how to create/grow a snowflake using L-system in polygons, with basic lighting, texture, and material. It can potentially be used for sprite animations for particle effects.

Snowflake gif houdini blog

A few years ago, Houdini introduced “Houdini Engine” to bring in digital assets created from Houdini into Maya or game engines like Unity. What makes this process unique is Houdini Engine lets users modify assets in 3rd party applications using an API, just as one might modify them in Houdini. For example, Houdini artists can create procedurally-generated stairs and set proper parameters and export. World builders or designers can place them in a scene and edit the look by modifying preset parameters.

2floor houdini blog
Five floors houdini blog

Increasing from 2 floors to 5 floors with a single parameter change (This example asset is from Houdini’s website orbolt.com.)

Bridgebuilding unity houdini blog

Bridge building with mouse click on any part of the bridge in the Unity game engine. Collider to trigger this building process is generated/expanded procedurally according to how far your bridge is built.

These are just some examples I’ve discovered over the week and felt were useful for game development here at Schell Games. Although it may not fit for all game developer’s workflow due to high learning curve or performance, Houdini definitely has the potential to play a bigger role in the game industry.