Michael Di Lonardo has shown his workflow of producing cinematic scenes using World Machine and Megascans.
My name is Michael Di Lonardo, I’m an aspiring environment artist located in Canada. I graduated in Graphic design and worked in multimedia for the most part such as public spaces, car shows, concerts, immersive experiences, etc. As of late, I’ve been more interested in Environment design. I didn’t study it anywhere, I’ve been learning everything I could from online sources. I started learning Unreal Engine 4 just a few months ago. Fortunately there’s a lot of transferable knowledge given that I’m already familiar with other 3D software, but still, this is a different beast and I’m having a blast learning it.
Project Start & Using World Machine
Normally you’d start a project by having a topic in mind, then you’d start to look for inspiration, maybe even gather images to make a mood board, and so on. Well, I had none of that for this project seeing as this wasn’t supposed to be a project in the first place. Seeing as I’m pretty new to UE4 I just wanted to experiment with the sculpting tools for landscapes. I already had a look at them for a previous project but I was still interested in exploring them more. I wanted something a bit more interesting than a plane to start with so I created the base with World Machine. A bit ironic cause one of the main points of using a terrain software is to not have to sculpt it manually, but I was going for a mix of both here!
To start things off in World Machine, I made a circle as the layout, this is just to set the positioning of my terrain.
Next, I used the “Use Breakup” function to help create a much more realistic shape. There are only the 3 parameters but they’re enough to start making your layout look more interesting already.
I then inverted it so that the layout I just generated is actually like a hole in the ground. I combined that with a light gradient that makes the whole landscape raise towards the top and dip towards the bottom. I channeled that through 2 Advanced Perlin nodes instead of 1 simply so that I could get a bit of extra control. This allowed me to have 1 node for bigger displacements and another for smaller ones.
To finish things off I added an Erosion node which helps tie all of this together and got it ready to export.
I had several Output nodes as I was trying out a few things but the main one you need to do is export a RAW16 file for the height output. Furthermore, I also ended up exporting 3 separate PNGs for the top ground, middle ground and lower ground with the help of the “Select Height” nodes which will facilitate the placement the base texture layers.
Here’s the full setup:
I created some mountains to surround the scene.
Same thing here for the output, I was experimenting so ignore some of the outputs. I just needed to export a RAW16 and 2-3 height maps, here’s the setup:
Once I imported that r.16 file in UE4, I set up a very simple landscape layer using “MatLayerBlend_Standard”. I added a Layer_Blend with several layers so that I could still paint the textures wherever I want, which comes in handy when you want to make rock paths, broke up obvious tiling, addув new sections, etc.
After dragging the material onto the landscape, there was still missing the main base texture: Snow. This was where the “Select Height” node in World Machine comes in handy. For the Grass / Rocks layers, I used the bottom / middle height maps, and for the snow, I used the top height map. You can do so by right clicking on any of the landscape layers and clicking “Import from file”. As you can see there was still a bit of a noticeable “line” dividing the snow and the rocks into steeper areas, this was easily adjustable due to the fact that I could paint in the layers to soften that transition.
The sculpting was done manually in UE4, it was the main purpose of all of this after all. The style I ended up going with is definitely do-able within World Machine, but doing it manually can be a good way to sketch things out. Besides, sometimes it can all unfold as you’re sculpting “I’ll add a hill over here, a lake there leaves this area flat” and so on. Almost like a painting. So I made a simple example here to show the bulk of it. What I did was elevate a few spots using the sculpt tool to have a few different heights to work with. Then I used the flatten tool on the highest point of each spot. What’s fun about this tool is you can crank up the strength a little bit and it’ll force the height of the area you’re hovering over to elevate or lower itself to the height of the point where you’re holding your click. This is a very convenient way to make “steps”, which again is totally do-able in World Machine, but I was going for a less automated approach so I can shape all of this as I wanted.
You’ll notice that after you flatten, the edges are jagged and the transition between the grass and rocks is not very clean. This is where you want to use the smooth tool to tidy that up, having 3 base layers helps definitely helps the transition. What I also did was pick random height points along the steep slope, “pull” / iron it with the flatten tool, and smooth it out. Rinse and repeat.
I also ended up using the ramp, noise and retopologize tools for the rest of the landscape. Here’s the full thing, as you’ll notice I didn’t leave every “step” completely flat though and added some minor bumps/height variation to keep it a bit more natural. (ignore some unfinished sections on the right which will be covered in this next step)
At this point, I’m starting to visualize vegetation, trees, rocks, etc. In order to complete the structure though I imagined there being cliffs at the top, so I used a rock made by an environment artist Alen Vejzovic, adjusted the color and duplicated it several times.
For trees, I’d recommend Speedtree, but for this, I used the PLE pack from the UE4 marketplace to learn more about procedural generation. Ironically though, I ended painting the trees using the foliage tool simply because I never intended for this to into this project in the first place to be completely honest. After studying the PLE pack I loaded some of its assets in my project and kind of went “on the fly” with it and sketched things out. I liked what I was seeing so it was only at this point that I started to think about making a cinematic out of all of this. Which leads me foliage/assets. This was going to be a big part of the cinematic. I used some from the PLE pack and some from Quixel’s Megascans library.
I did have to keep a few things in mind for optimization because I didn’t want to see obvious shadow transitions, “pops” from LOD transitioning, trees/foliage disappearing in the background and all that jazz for the sake of the cinematic. I wanted it to run smoothly. To top that off, I also switched the Max LODLevel for the landscape from -1 to 0 so that the terrain doesn’t shift as the camera moves around it.
But I really needed to optimize, so first I adjusted the culling for the foliage so that it doesn’t disappear too far off. Hills, trees, bigger rocks, volumetric fog, all of these help to cover the distance where the foliage would stop spawning. For trees however I didn’t want those to vanish past a certain point for the sake of the cinematic, so seeing as I need them to always be present, I had to force a lowered LOD of several trees (I used a variation of 11 trees) and I scattered them a fair bit using a low painting density instead of having them really close together.
These are the trees:
Other optimizations: I lowered the shadow resolutions a tad and the texture resolutions as well. Some smaller elements were 1k-2k and medium to bigger elements were 2k-4k. Also, for some of the assets I cut out some atlas textures (using Cinema 4D) to help minimize the poly count, for example:
All of these things together really help to ease the load.
Adjusting the Light
For the lighting, I don’t have anything fancy to be honest, its more about getting the right mood. I have a dynamic directional light, a skylight (intensity of 1), an exponential height fog (and a post process volume to help make minor color and bloom adjustments for the final look). The obvious thing to mention would be the volumetric fog, which is mostly covered by the exponential height fog.
Last but not least, I did some color correction and color grading in After Effects using Curves, Levels, Color Balance and Film by Magic Bullet. The left side is the final version, the middle is the raw render from UE4 and right is the scene in Detailed Lighting.