I wanted to do a project that focuses a bit more on simulation work in Houdini, and also rendering, and this is the result. Probably one of the sillier things I’ve done in a while, I suppose 🙂
Originally, I was going to render it in Renderman, but I settled on using Mantra (which I’m really starting to love).
Renderman in Houdini was just a little too much to deal with, on top of all the other things I was learning.
All of the models in the scene are edge weighted sub-d, modelled in Modo.
The water grenade is Gears Of War inspired, cobbled together from whatever concept I could find off the interwebz 🙂
In a previous post, I showed off the water grenade model when I was talking about transferring edge weighted sub-d models from Modo to Houdini.
After posting it on this great Modo / Houdini thread, Pascal Beeckmans (aka PaQ WaK) informed me that Alembic files keep edge weight values.
Using Alembic files is a much better idea than the silly workaround hack I was doing!
The whole base geometry for the scene (room objects + one grenade) comes in under 20000 triangles, such is the joy of sub-d in Modo.
The material for the grenade was made in Substance Painter:
I tried out a few different colour schemes, but settled on eye searing orange.
Something I hadn’t used much in Substance Painter is the “Hard Surface” stamping feature.
This is a really cool way of adding little details that I couldn’t be bothered modelling:
Substance Painter comes with quite a few to choose from:
I can imagine that if you built up a library of them, you could detail up models super quick!
I decided to do the walls, floor and wood shelf materials in Substance Designer.
I won’t go through all the networks node by node, but I’ll do a bit of an overview of the Wood Substance, since it’s the slightly more interesting of the three.
I’m taking an anisotropic noise, warping it with a crystal noise, taking a creased noise, warping the rest with that, making some gaussian spots, converting them to a normal, vector warping everything with that.
That gives me a greyscale image, that I gradient map to make a diffuse texture.
In case the graph, and that last sentence weren’t confusing enough, here it is in gif form!
I always find it a bit to talk through Substance Designer networks, because so much of it is fiddling around until you have something you like.
I could probably remake this a lot better, and remove more than half of the nodes!
One really fun part of this was the Gradient ramp right at the end.
In the Gradient node, you can click and drag over anything on your screen (google image search images, in my case) to pick a gradient.
Here’s a great video explaining it:
I ran the picker over a photo of a wood plank that I liked, and then manually cleaned up the points on the gradient a bit:
Setting the scene
Having exported the scene from Modo as Alembic, I’m loading all the parts of the scene separately, and creating Groups for them.
I just noticed that under the Attributes tab in the Alembic node, there is the option to “Add Path Attribute”, so using that for grouping would be the smarter and neater way go!
The UV layout node in the middle was just me messing around with some of the new packing features in 16.5.
I’d UV’d in Modo already, but I wanted to see how the layout node fills in holes:
Turns out it’s pretty great!
The last section of this network, I’m setting up the length of the chain by copying and rotating the one chain piece, and offsetting the end handle part:
To keep the handle at the end of the chain with a transform node, I can just reference the transform and number of copies properties from the copy1 node.
So the x translation is:
ch(“../copy1/ncy”) * ch(“../copy1/tx”)
And to get the handle at the right 90 degree rotation:
(ch(“../copy1/ncy”) % 2) * 90
It’s nothing exciting, but it’s great how easy it is just to dump expressions into parameters just about anywhere in Houdini.
For the room geometry, the import setup is very similar to the grenade setup.
One thing probably worth pointing out: I’m subdividing the assets at render time.
So although they are not subdivided in the viewport, you’ll just have to trust me that all the edge weighting came in fine 🙂
In the next blog post, I’ll start getting into some of the simulation setup.
From here on, the focus of these posts on this project will be 100% on Houdini.