GDC 2017 Presentation: Volume to Mesh Workflows in Houdini

While waiting for my main presentation to show up in the GDC vault, I’ve recorded the presentation I gave at the SideFX booth on the expo floor. It covers how to make meshes from flipsimulations and how we created a cloudlandscape in Battlefield 1. Even if you’re not familiar with Houdini, hopefully you can pick up a couple of tricks from it.

Edit: Adding image for Thumbnail


Thank you for posting this! This is a perfect first step for me as I’m just learning Houdini (as well as Unreal). I posted asking about using textures to drive animations of meshes like these, but that process is still a bit daunting for me. Still pursuing it, but I like that this reinforces the idea of using as little tech as needed for an effect.

One question about the clouds: Is the overdraw still not bad? I know the particles are only spawning on the mesh surfaces, but in the Battlefield example the clouds are covering at least half the screen and extend from right in your face to way off in the distance. I feel like if I were to visualize the overdraw I might have a heart attack with the results. Maybe I’m missing something?

Overdraw was a challenge, but keep in mind that there’s not a whole lot else going on in the level. Well, modelwise. No terrain, only a flat plane with London painted on it. It’s just clouds, and loads of gameplaystuff. When you fly through the clouds, they do indeed cover the entire screen.

If I remember correctly, on Ps4 and Xbone, the clouds used something like 1500 particles for the entire level.

Another thing to keep in mind is that the level of “badness” overdraw causes is also based on the complexity of the shader. We didn’t use any custom shaders. These are simply lit, non-normalmapped sprites. Nothing fancy going on that’s going to make them more expensive.


Excellent info, thanks.

Awesome, thanks for recording this. I was able to catch part of your presentation at the Expo, but it’s easy to miss some details when you’re still new to Houdini (we finally got a studio license last week, your Dice talk and the stuff from Luis made it much easier to justify to the accountants).

Took a stab at it last night and it turned out really well. It’s funny, the culling on the lower half of the faces made me cringe at first, but it really doesn’t matter once it’s moving in game. Will likely see something based on this in Warframe in the next few weeks.

Awesome! Glad you found it useful.

Yeah, I used to sweat getting the meshes to look perfect, have good uvs and so on but it usually doesn’t matter when it comes to particlemeshes. :slight_smile:

Thanks so much for posting this. I was only able to catch the first 5 minutes of your presentation of this at GDC

Thank you for posting a more in depth video Andreas! Really awesome stuff :slight_smile:

Omg … Thanks for detailed explanation of the process. Looking forward for more tutorials like this.

Wow cool stuff!

I love the simplicity and beauty of your fluid mesh solution. Thanks for explaining the steps, I was expecting something far more complicated (and I guess you know your ways of getting more complex mesh animations into games efficiently).
Also the clouds are marvellous. Regarding the lighting, so you light the cloud particles directly or do they inherit information from the mesh?

Thanks for sharing!

I live by KISS :slight_smile:

The clouds are lit by point/spot lights that only affect particles. When we set it up, we didn’t have access to the color of the spawnmesh.

Really well presented and super easy to understand. Thanks very much for your effort and contribution to the community Andreas!

Thank you so much for this its something I’ve been interested in for a long time. Thank you for taking the time and the effort to share!

Thank you so much Andreas For taking the time to explain all this.any chances we can see something like this for the explosions and fire in BF1 i really wanna see how the flame thrower was made :grin:

Not BF1 specific, but I’m covering how I make Explosions in a ton of detail in a Pluralsight course I’m working on. Trying to finish it within a month or so.

That sounds great looking forward to seeing That :slight_smile:

For the BF1 flamethrower, pester @Nadab :slight_smile:

Awesome Thank you so much

Thank you for the video.
But I have question, because I have a trouble with attribute wrangle and delete nodes
I actually made like you showed in tutorial, but this node deleted the mesh. What was the problem you think?

I use houdini indie 16

Ah! That’s because in the attributewrangle you create the attribute on the points. Then in the delete node, you look for attributes on the primitives (faces) and it can’t find any.
So, change the delete nodes entity to Points and you should be good!

I reccomend using the technical desktop for this kind of work as then you can always see what your attributes are doing.

1 Like