I really like how you've articulated your entire process. This was a very enriching read. A Well deserved feature!
Great article! Thanks for the awesome read.
Wow, this is so cool! Nice job!
Michael Gerard shared the details of his process of working on natural scenes and vegetation with UE4, SpeedTree, and Quixel Mixer.
I started 3D art around 2010. At first, it was only for entertainment and it wasn’t very serious. Five years later, I came up with the classic idea of “I will create a video game”. Since then, I started to learn the Unreal Engine on my own through YouTube content.
More I get older, more nature takes place in my life. I go to walk in the forest every time I can. I’m lucky to live close to the forests and lakes areas which are an unlimited source of inspiration.
The most important thing when I start a scene is to define the “master” element. It can be a tree, a house, a river, a lake, a road, a railroad, anything. Once I have it, the biome is settled by the kind of trees I want to use: conifer, birch, etc. Even though I try making it realistic, I keep my mind open to eventual evolutions.
I rather work with feelings than focus on keeping everything as realistic as possible. I rarely work with the real-world locations because I realized I had more temptation to take some references from here and there and try to assemble the scene to make it credible instead of creating an exact copy.
I mainly use the ready structures of the models to save time and only change textures of leaves, branches, trunks and recreate models only if it’s needed.
One of SpeedTree‘s awesome things is its “clusters” or also called “Leaf Map Maker” which allow you to create branches and change leaf type easily.
In SpeedTree 8 you can create branch models directly in the software and it’s really useful even if it’s less optimized than 3D software like 3ds Max or Blender. In the picture below, red dotes are vertex and green dotes are anchors where other models can be attached.
For me, the biggest force of SpeedTree is that it’s the best choice if you want to create a bunch of models. You only have to work hard on one tree and with the “Randomize” button you can create unlimited models. Determine some values like the height, weight, the number of branches and the distance between those and it is done.
First time I used Mixer was in my project Nature Scene. My first goal was to create the sun’s reflection on the puddles. Since then, I use Mixer in all my scenes plus Bridge to get foliage textures. The vegetation models are usually done in 3ds Max. Here you can see how I work:
The good thing about Mixer is that you can save your project to rework on it later and you can export your mixes as surface (texture) so you don’t need to recreate all layers for a new mix. You just need to use the surface and place it with a previous work/mix.
Breaking the Repetitiveness with Decals
To add some variation, I use decals directly in Unreal as it’s much easier to me. Here is my decals material:
Then I a use classic texture with a world align texture and some brush as a mask to create variations between decals.
Optimization of Vegetation
The first thing I do (and that’s also why I use SpeedTree) is creating a texture called “Atlas”. It will take all your models and create a combined texture. It’s a real save of performance. In Unreal, I change the LOD Bias to reduce the texture resolution: 1 for the Atlas to get 1024×1024 and 3 for the normal to get 256×256. With small props, the difference between 2048×2048 and 256×256 is almost invisible. For the normal map the “Resource Size” (on the top right) goes from 5461kb (LOD Bias = 0) to only 85kb (LOD Bias = 3).
I disable shadows for small foliage like grass, small flowers, and debris and play with gradient color to create fake shadows.
I also play with LODs and create those directly in Unreal even if SpeedTree makes great LODs for trees. I prefer to do it by myself for small foliage as it’s more accurate.
I finish by adjusting the “Screen Size”. For it, I activate the LOD Coloration Mode which makes it much easier to see the differences between values.
Early in my works, I try to find the general lighting. It’s important for me to get this early because I can easily define how to place models and how I can configure my materials.
The god rays in some of my scenes (for example, in Winter is Coming) are made with volumetric fog and a particles emitter.
With the Material Instance, I can control a few parameters and the intensity of god rays. Here’s an example of how the scene changes with different hardness parameters (0.25, 0.5, 0.75, 1):
Color Grading (LUT) takes a big place in my scenes, too, it’s the best way to get perfect coloration without multiple tweaks.
At the end, when everything is fine, I use Ansel plugin by NVIDIA to create HDRI, it’s a perfect way to get natural light in the scene. I put it on Post Process and Skylight even though it’s a bit consuming.
Time & Mistakes
The time needed for the project depends on the kind of the scene I want and especially on how much details it will contain. Sometimes, it can take one day for only an effect (Forest Oil Painting Effect) and a few weeks for the full scene (Demo Reel 2018) that includes the creation of models, textures, landscape, placement, lighting, effects and video editing if needed.
As for some mistakes, the biggest ones I made in the start were underestimating the post process and putting too much contrast, bloom, lens flare or vignette.