Corentin Wunsche practised landscape creation with Terrain Tools in Houdini & Megascans and integrating it in Unreal, and shared what he’s learned.
Hi everyone! My name is Corentin Wunsche, I’m a 3D artist specialized in environment and lighting and also a photographer.
I came from France and studied Industrial design and history of art during high school. After that, I studied Game Art and graduated from Isart Digital Paris in 2012. Right now I’m working at Reflector Entertainment here, in Montreal. Until that, I mostly worked in the mobile game industry, on both Jurassic World and JW Alive at Ludia Inc., plus smaller games before that.
The main idea behind this project was to find a way to start learning Houdini and integrate it into my environment creation workflow. I wanted to work on something simple and focus on terrain creation.
I think that realism is based on three mains factors: materials, lights, and post-processing.
I think, if you want something as realistic as possible, you should use real data such as scanned surfaces or meshes and so on.
I will digress here just a bit. Don’t get me wrong, but I feel that if you have enough time and talent you can produce amazing realistic materials procedurally. However, honestly, thinking about time and cost I don’t consider it worth it.
Photogrammetry is a game changer when you want to produce photorealistic 3D content. Look at Vanishing of Ethan Carter, Battlefront, Adam or the Book of the Dead. If you want to reproduce real life, use it.
For this particular scene, I used only Megascans assets and spent some time to achieve natural shapes and snow deposits.
As a photographer, I learned how important lighting is in a hard way. You can completely ruin your work with bad lighting. And you should keep your lighting as simple and natural as possible, just like in real life.
In this scene, most of the work was done with the help of HDR (you need a good sky) and the skylight! Then, my directional does the rest.
Nowadays, people know how photography and movies look, what looks realistic or not. Too often we see 3D content that is oversaturated, too clean, too much contrasted, too sharp and so on. So I always apply the same process both to my photographs and my 3D work inside Lightroom (or with a LUT). I try to reproduce a movie style which is sometimes not absolutely true to life but creates the feeling I’m looking for.
There are the mains aspects that define the “real” look of my images. I used real data and assets to achieve a natural look, worked a lot on the lighting, the mood and the composition, and finished everything with post-process.
Introduction to Houdini & Its Possibilities
At Reflector, I met three amazing Houdini artists that just never stop talking about this software solution and push me to use it. As a result, I started watching some videos and tutorials to see how Houdini can fit in a real-time pipeline. I discovered that it provides awesome procedural and non-destructive tools for a real-time environment artist: destruction, scattering, FX, etc.
Yet, Houdini can be really scary at first, so I needed a point to start with. Then I saw the talk by Alex Dracott at GDC 2017 who talked about Terrain Tools, and voila! I decided to do a simple snowy terrain that would combine Houdini learning, Unreal integration, Landscape material creation and keep me practicing my lighting and composition skills.
For me, the most important thing was to keep everything simple.
Through my journey, I discovered that you have a lot of control in Houdini during terrain creation. I don’t know World Machine or any other software solution like that well enough so I can’t really compare. But within Houdini, for example, you can paint mask by hand, mask with mesh, or by feature. You can scatter anything on your terrain, paint a road or a river that will deform it. At the end, you have full control over any kind of map you want to generate.
What’s more, you can use all these assets and data with Houdini engine directly inside Unreal. You can even generate a mesh from your HeightField and bake all the information! What’s amazing is that you can do almost everything inside Houdini.
Crafting a Landscape in Houdini
In the beginning, the whole process was a bit hard and frustrating. But after a couple of tries and fails, I managed to finally understand how the parameters work and how to combine them together. I will try to explain my workflow the best I can but I’m pretty sure that I could have simplified my node graph a lot. Everything here is really new to me.
Note that I always start with big shapes, just like in any modeling. I keep my HeightField low res to iterate faster and most importantly to get big shapes during my first erosion pass. I wanted mountains rising from an immaculate snow field.
The terrain basically consists of 3 shapes blended together: main mountains, small mountains, and smooth hills with light dunes information.
- Mains Mountains
I used a combination of noises, distort (to make the shape look more natural), erode and resample (increase resolution) nodes to add more and more details. The key parameter here was the Cellular F1 noise which gives the high sharp mountains the base shapes.
- Smooth Hills
After that came hill and dune shapes which are made from a pattern, a noise and a distort node.
- Small Mountains
Next, we have small shapes that are made with a simple tiled noise and an erode node.
Now that I have my 3 basics shapes, the next step will be to blend them together with a heightfield_layer node and then make my first global erosion pass for smaller details. There aren’t any key parameters, it’s a matter of tests depending on your preferences. I almost leave everything but erosion rate as default. I also used a mask by feature to apply erosion only to the rock part of the terrain.
The most important part and the one I need to improve is the snow mask. For now, I found a way to achieve the necessary effect with an erode node and by increasing all the precipitation parameters. Next time, I will do more tests and see if I can get small deposits, maybe with a more detailed and high res HeightField. I will talk about the way I worked with small snow deposits below.
The final step was to clamp my HeightField to get proper heightmap and mask. I exported all the maps through the HeightField output node.
Integration & Use in Games
Honestly, integration was the simplest part of this project. Unreal provides everything you need for terrain creation, so I just applied my height map to a UE4 landscape. Just one thing!
Don’t forget to put even numbers in “Numbers of component”, so if you have to, change it after pressing the Fit To Data button. Otherwise, you will have issues like shifting with the future mask or splat map you’ll apply to the terrain.
I think, this kind of landscape production will perfectly work for games. You have full control over the map resolutions, you can split them, generate a mesh from your terrain, bake all the maps, and do all the things I mentioned above.
And the most important of all, keep in mind that it’s fully procedural so you can iterate extremely easily and fast!
Megascans Assets & Snow in Quixel Mixer
Here you can see all the assets I used and how I used them. We can say that except for the terrain everything came from Megascans.
I could and propably should have used the blend material provided by Quixel inside Unreal but I didn’t think about it and made mine instead.
Snow is simple. I made the maps within Quixel Mixer by blending two snow scans. I used a fresh and clean snow scan and a dirty one just to had more details.
Then I used a base material from Megascans Bridge and modified it by adding SSS and removing displacement. I wanted to keep parameters simple since I wouldn’t make any close-up shots.
Wiktor Öhman from Quixel made a really good video about snow creation in Unreal:
Applying everything to the terrain was a bit more complex. I made a landscape material containing a blend of a snow material function with a blend rock/snow material function. All of that was masked by my snow mask from Houdini.
It will be clearer in the images.
Rock Layer Material Function:
Snow function blending on the top of the rock material function:
Landscape master material:
I’m pretty sure that with further tests and research, I will be able to get a nicer snow deposit mask within Houdini. This video helped me a lot with the material creation.
Quixel Mixer Advantages
For this project, I didn’t have to use Mixer that much, only for the snow, but it’s a powerful and simple tool that allows you to drastically modify your scans. And this is really important for me as I modify my materials most of the time to give them something “unique”.
I had to use Designer for my pavements but within the next version of this tool, you will be able to generate displacement shapes right inside it!
All materials, displacements, and alphas:
Here you can see the process for the clean pavement material and the grave one:
As you can see it’s just a layer system that you can blend together with simple parameters or a mask painted by hand.
The whole project took approximately 2 weeks working 1-2 hours per days. The most challenging part was to learn the terrain tool inside Houdini and achieve a satisfying and natural result. I had to try all nodes, fail and try again.
The second challenge was to make a mask for the snow the process for which I described above. In fact, I found another way to get small snow deposit details by blending material functions inside my landscape material. The rocky part of my landscape was made with a snow mat function blending on top of a rock mat function. Here’s the material graph:
With and Without the Blending Snow Mat:
To be honest, I can’t say that Houdini helped me to build things faster in this project, but I can say that it will for the next one, for sure! I learned so many things in the past few weeks.
If I were to give advice to those who want to start learning Houdini, it’d be to choose one tool and build a simple project just around it!
I hope you have found this interesting and helpful! Don’t hesitate to contact me if you have any questions. If you liked my work and want to see what’s coming next, head over here:
I want to thank Nicolas Foing Bruel, Alexis Leduc and Nicolas Longchamp for pushing me to use Houdini and for their help! And of course, my wife for supporting me every day!
See you around!