Houdini is a procedural node-based solution for animation, visual effects, and game making. This means that everything you do in Houdini creates a node. You create a box, you get a node. You PolyExtrude the box, you get a node. You twist the box, you get a node. A lot of other packages have this as construction history, but that construction history eventually gets wiped away.

In Houdini, you keep it around and it becomes part of your ultimate workflow. Because of this, what you can often do is create these networks of nodes that define a pipeline or workflow, and then they can be shared with other people. So let’s say I want to have particles coming off of an object, or I want to take a character and turn him into vampire dust. I can set up a network for how to do that, and once I’m finished I can give it to my colleague and he can take the same network and he can turn his character into vampire dust very quickly and easily because this pipeline, this recipe how to do it, is packaged up and shared.

We’ve taken it one step further, where you can take those networks and wrap them up into a single node, promote parameters that you think would be relevant to artists and then you share this new asset to other people. An example of this would be city building tools. You might have an asset where it can build streets, or one that builds buildings, or another asset that puts streetlights in. These assets can be built by somebody who’s a bit more experienced and then they can be handed off to an artist who can work with those.

One of the things that happened on the games side was, we had all these wonderful things, but people wanted to work with these things inside their game engines. Not so much at runtime, but while I’m creating content, I don’t want to just export this from Houdini, but I want to be able to build my roads in Unity or Unreal. Because of this we created the Houdini Engine. It’s a plugin for any number of apps. Currently we have Maya, Cinema 4D, Unity, and Unreal. This plugin allows you to take those wrapped up assets I was talking about, and open them inside these other apps.

So I can be in the Unreal Engine, open up these other assets, and have all the other top level controls that I would have had in Houdini. What I do is as I manipulate it, under the surface the Houdini Engine processes the results and feeds them back to Unreal. It allows all the power of Houdini but within the more comfortable user interface. This is built around the Houdini Engine API, and this API is available to customers. If you have a AAA studio that has a game engine of their own, they can create their own plugin and get exactly the same workflow.

We’ve essentially created the Unreal and Unity plugins more as proof of concept to help people. Also what it does is allow indie artists and indie developers to get involved as well. We sell the Houdini Engine on the Unity store. They can also get it from our store. We have a few assets that people can download and try.

Versions of Houdini

The different versions of Houdini that exist are broken down more in terms of where you are in your development. We have a free version called Houdini Apprentice, it has virtually all the features except it doesn’t work with the Houdini Engine, but it does allow you to learn Houdini, develop networks and nodes, and so forth. It also has a render watermark and a limited render size 1280×720.

The next level up is Houdini Indie, it’s available for $200/year US dollars. if you’re making less than $100,000 you can use this product. It has pretty much all the features, limited render size 1920×1080 and no render watermark, but it will give you access to the engine in Unity, Unreal, Maya, and etc.

From there are our commercial versions Houdini and Houdini FX. Houdini is focused a bit more on animation, lighting, rendering, and modeling. Houdini FX is all of that plus – particles, pyro effects, fluids, crowds, and any simulation. The indie one has all the features but the commercial one can be used on bigger projects.

Procedural Calculations used to Build the Assets

The procedural nature of Houdini is about using very simple nodes that pass information onto each other. So if you have a box, that box passes to the next node and the next node, looks at the information there and does something to it and passes it on to the next node and so on.

One way to get those group of polygons into the next node is to select them. So you select polygon 2 and it’s going to feed in. Another way to do it is to create procedural techniques. I’m going to group everything in this zone and any polygons in this zone go into group A and group A will now be PolyExtruded. So there’s these ways of creating procedural techniques that allow you to make a change early on in the chain and it propagates all the way through. That’s the key, being able to make changes at any stage and they’ll propagate through and give you a different result.

Advantages of Mantra

Mantra is a render engine, photorealistic PBR render. It can handle lots of data and has a real production oriented workflow and how it sets things up. A lot of our customers have sort of grown used to it over time, given us a lot of feedback, and now it’s used more and more. There was one movie that came out in 2014 called The Book of Life that was all rendered in Mantra. It was usually used more for rendering visual effects, but it can be used for more than that as well.Mantra is a “get on the CPU and work hard” sort of thing. It’s got motion blur and depth of field and everything else. Plus we do a lot of volume rendering and volumes aren’t generally supported real-time because they’re heavy duty stuff.

Houdini in Games