by Eddy Adams, Freelance 3D Motion Designer
Hello and welcome!
Thank you for checking out my process for building Mounting Tension! Hopefully you can follow along and learn a few tricks in order to make something similar yourself. Before this, I had never created such a detailed scene, so much of this was trial and error. Enjoy!
Starting out on a landscape scene requires gathering references of landscapes. It’s easy to just spit out what you can make in World Creator in an afternoon and add some lighting, but that only gets you so far. Ironically, my main source of inspiration was this render done by Aaron Westwood. In it, he used World Creator, Cinema 4D, Octane, Megascans, and SpeedTree. Before now, I had never seen anything so impressive come out of World Creator, so I had to give it a shot. For my execution, I used World Creator, Cinema 4D, Redshift, Megascans, and Forester.
The first stop was World Creator. This post isn’t a full tutorial, so I’ll be keeping the details specific to this process. If you’re looking for a full tutorial, check out Travis Davids’s Introduction to World Creator.
After much experimentation, I discovered that the base tab has a huge impact on what is possible with the filters. I wanted a small-to-medium landscape in order to see finer details in the rock, so I set the terrain width and length to 1024. The units aren’t shown there, but I’m nearly certain everything is in meters. Then I set the precision to ¼ or ⅛ m, depending on if I was going for performance or final look quality. This gives you a 4k and 8k resolution, respectively.
Now, this is where I got hung up. If you try to edit the shape manually, you’re left with very few handles. Not enough to make any meaningful shapes. The trick here is to turn down the Level Strength Step 1 and 2 to zero. This changes the handles to now affect Step 3 instead, meaning there are way more to play with.
Now for the fun. The filters take the smooth, blobby mess and transform it into a beautiful landscape. Here is my stack for this build. The Filter Distribution Properties are listed after the relevant filters.
Noise - just enough to add a tiny amount of detail.
Noise - a second noise to break up the first.
Rugged + Angle - adds sharper features.
Wind + Angle - erodes the leading side of the mountains.
Rocky Plateaus + Angle - critical for adding a rocky surface.
Rocky Plateaus + Angle - doubling up for more rockiness.
Terrace Smooth - an attempt to cut across some vertical stretching.
Ridged - similar to rugged, to sharpen the features.
Ridged + Angle - finishing touch to sharpen some angles.
In the end, I was quite happy with the results. I was not, however, able to figure out how Aaron made those especially rocky formations in his render.
When it came time to texture, I kept things simple. Partially because I’m not a World Creator wizard. From bottom to top, these were the layers.
Cliffs_010 - to add a rocky base.
Rock_03 + Slope - creates a sandy texture to flat surfaces
Rock_03 + Slope + Noise - a lighter version of the previous to break it up
In the end, I used a splat map in Cinema to completely change the Cliff_010 to a texture from Megascans that I was able to project via the Triplanar node in Redshift.
World Creator has a robust, albeit tedious, way of exporting. In the end, I used a few different assets.
Heightmap EXR - primary source for rendered Mountain elevation.
Heightmap OBJ - exported at one-sixteenth the actual resolution for MultiScatter.
Color PNG - for the base diffuse.
Splatmap PNG - for flexibility in Redshift.
Ironically, this Cinema 4D section is relatively short. Most of the work is done outside of Cinema or with plugins within Cinema. I’ll list the general workflow for setting a scene like this up.
Create a plane, apply the mountain material with displacement.
Possibly flip the X or Y on the material based on your export settings.
Create a camera with a fairly long lens; in this case, an 85 mm.
For the background, parent a plane to the camera, add a target tag, and move the plane way beyond the furthest mountains. This way, it stays locks to your view, but is also easy to move around.
You’ll notice actual geometry in the screenshot above. This isn’t what I rendered, however. When working with terrain, most render engines handle displacement maps much better than actually having an 8k x 8k mesh. The mesh in the screenshot above is a low-res OBJ export from World Creator. It’s used both for reference when composing the shot and also for scattering objects. Because the terrain that Redshift actually renders starts as planes, you can’t scatter objects on them. You could use a plain effector with the heightmap mapped into the falloff, but I’ve found that to be a tricky workaround.
In the end, I came up with a wildly convoluted shader network for the mountains. Click on the image to take a peek at the nodes. It looks complex, but a lot of the nodes are either manipulating the PSR of each image texture or laying things on each other.
One node that ended up being critical was the Color Splitter (near the center). This takes an RGB image, in this case the splat map, and separates the R, B, and G into mattes. This let me completely replace the textures I had rendered in World Creator. This is handy because you can use a triplanar node to reduce any stretching that might have occured in World Creator.
The crucial bit about displacement is the Redshift object tag on the planes. In order for the displacement to work, enable geometry override and tessellation. This tells Redshift how subdivided the planes should become during rendertime. Redshift also has the option to enable screen space adaptive subdivision. This means as the geometry gets further away, it generates less polygons. This can greatly improve performance.
Getting depth fog and god rays in Redshift is a relatively simple process. First, you must make an environment object. This puts volumetric stuff in what once was a vacuum inof a scene. Then, on any lights you want visible in the volume, simply turn up the contribution scale in the volume tab. See below for the environment settings. I had to crank the scattering way down or else it floods the scene with bounced light.
Speaking of environments, the clouds are also volumetric, but created in a completely different way. All the clouds in the scene, other than the background image, are duplicates of one Redshift volume that pulls in an external .vdb file. In this case, the vdb is a lovely cloud created by Brandon Young over on Gumroad. Miraculously, you can buy fifty high-res clouds in a pack for $2! Quite the value! In order to get the clouds looking soft and subtle in this scene, I had to crank down the scatter and absorption coefficients while also pulling the knots right to make the gradients darker overall.
Using something like Forester is critical for rapidly filling out a nature scene. The plugin can generate trees, shrubs, flowers, grass, and rocks that are all parametric. This allows you to adjust the parameters of your objects to give the scene more natural vegetation variation.
Notice the low-fidelity nature of the plants. Because Forester is parametric, I was able to turn the segments of the plants down to keep the total polygon count manageable. I mean, in the end the scene was probably in the billions of polygons after instancing the trees and plants all over, but it still rendered and never crashed!
Forester also comes with a great scatter object called the multicloner. It’s similar to a standard Cinema 4D cloner, but gives you tons of additional options to help naturally scatter objects across geometry. You can filter objects based on the slope they’re on, the height, noise, maps, and so on. It’s a great way to put certain plants on flatter surfaces and other mountainous plans on steeper inclines.
No scene is complete without a flock of birds for scale. Because they were far away, I wasn’t embarrassed to use a pigeon model from Evermotion Archmodels Volume 83. Finding bird models in flight can be tricky, but these pigeons worked out great! I had to make a rough rig to get the wings to also bend down, too.
Thanks for making it all the way down here! I hope you learned a lot and enjoyed my process. If you have any questions, feel free to reach out! And if you want to keep tabs on me, feel free to follow and all that.