In case you missed it
Read Jason's previous article
About the Scene
Concrete Evergreen is my second Unreal project and there is still so much for me to learn but I’m glad it received a lot of positive feedback, and it is my privilege to share its production details here with you on 80 Level.
In this article, I will mainly break down three things:
- My first experience using Quixel's foliage and debris
- My techniques to break repetitiveness in a modular environment
- The methods I used to make a focal point stand out.
I hope you will find something interesting in my experience that will help you save time and improve future projects in some way.
As a reference, I chose a public housing estate in Hong Kong called Ping Shek Estate and mixed it with brutalist concrete materials, ivy, moss and abandoned rusty manmade objects.
When making this scene, I used the same workflow as in my previous modular environment which I learned from Clinton Crumpler at CGMA. Planning > Blockout > High poly > Low poly > Texturing > Lighting and Effect. I talked more about it in my previous 80.lv article, you can find it here. Since the workflow is pretty much the same, so I won’t write about it again here.
Quixel’s Foliage and Debris
Since Quixel is free for all Unreal users, I got to give it a try. All the foliage and debris in my environment are downloaded from Quixel. I believe that unless you want to be a foliage artist or learn how to make foliage yourself it wouldn’t hurt to use Quixel Megascans library. It will save you a lot of time which you can then spend focusing on other things you want to improve.
Here are the Megascans assets I used in my scene:
Quixel Bridge makes the importing process quick and easy.
In Quixel Bridge, I can select how many LODs I want, the texture resolution and even customize the maps. Once I select my project location and click export, Quixel will set up everything in Unreal automatically. I don’t have to drag in the files one by one, set up materials manually, etc. Although I changed the LODs distance, I think it all depends on your personal preference.
Ok, I got all the great Quixel’s assets ready to use in the scene! But there is something I always keep in mind:
- First is the scale consistency, I like to keep the scale random but only within a very small range. It is important to keep the overall scale consistent, and the scale of an asset has to match other objects in the world so that it won’t break the sense of proportion.
- Second, I think about how the vegetation will grow, where it starts, where it gets the sunlight and water from, etc., then place it accordingly. Don’t just place the plants in a random location, make the placement natural so that it feels and flows better in the scene.
- Third, I use vertex paint to help create a better transition between the floor or a wall and the foliage. For example, mix some dirt and moss textures on top of concrete material, so that the ivy doesn't look like it is growing straight out of the concrete. Again it is all about making it look more natural.
Here is a simple vertex paint master material:
- Last, I try to control the amount of foliage placed around the scene. One can easily place way too much foliage everywhere but it is important to leave some resting areas for the eyes. Don’t go overboard.
Breaking Repetitiveness in a Modular Environment
Vertex paint and decals are my favorite way to break repetitiveness. I used the same master material as mentioned above; it not only makes the tiling less noticeable but also provides a better transition between different meshes. For example, the floor blends 3 different textures set together (concrete, dirt, and puddle of water) making it much more coherent. As you can see, it not only looks more realistic and organic but also makes a more sensible connection to why vegetation is growing on concrete and blends better with the mosaic tile wall.
Usually, the edge damage decal works like an extra mesh that covers every corner of your main mesh, then you can use vertex paint in the game engine to break the repetitiveness. However, I just wanted some super quick edge damage variations added to the scene, so I quickly found a few concrete decals from Quixel, made them into a trim texture in Photoshop, then UV-mapped them into my L-shaped edge decal mesh and it was done! I could freely place the decal wherever I wanted in Unreal to make the wall damaged.
Texturing Large-Scale Objects
Here, I want to share how I dealt with my large focal object.
If I textured the whole model like other unique assets, it would have required very high-resolution textures or I would have had to split the model into different unique parts and that doesn't sound very optimized. Tileable material and a trim sheet could be an option but it could start looking very repetitive pretty quickly.
Therefore, I decided to make a channel-packed mask to blend 3 different materials.
For example, the Red channel would be the mask for my tileable dirt material, the Green channel would be another mask for my tileable moss, and the Blue channel - for the rust. This method is great for large objects that require tileable textures to maintain high resolution but at the same time need to have some uniqueness to break the repetitiveness.
I made the channel-packed mask in Substance Painter to test out how it would look first, then exported it into Unreal.
Since it is just a black and white mask, I don’t have to export it in high resolution. In any case, it will look great when I combine it with tiling textures.
Helping a Focal Point Stand Out
There are a lot of ways to lead the audience’s eyes toward a focal point and make it pop out such as scale, complexity, and post-processing effects, and I want to share what methods I used for that in my scene.
- First, I used the rule of thirds, moved the camera to the right angle, and placed the focal elements in the golden locations.
- Second, I created leading lines to point to the direction of the focal point (the light rays, yellow ribbons, and architectural structures).
- Third, I used light value to frame the focal point. The best way to explain this is when you turn your scene to grayscale, the focal point should still read very clearly and the silhouette should be still readable even from a long distance.
Value can also add depth to your scene so that it doesn't look too flat. Therefore, don’t put lights everywhere and watch out for the light intensity. Always turn your scene to black and white to check if the value is clear.
- Forth, I put red lights around those areas that I intended to mark as dangerous. They not only set the mood but also complement and stand out against the calm yellow and green colors of the background.
The next thing I plan to learn is Houdini as I believe that a procedural approach will make the production of a scene like Concrete Evergreen much more flexible and way faster.
I want to give special thanks to Peter Trans, Tomer Meltser, Taylor Brown, Miro Vesterinen, Balazs Domjan as well as DiNusty Empire Discord and ExperiencePoints Discord for giving me feedback that eventually helped improve the scene.
I also want to thank Alex Beddrow and all the interviewees for taking their time to make amazing GDD podcasts I listen to while I work as well as Jermey’s DiNusty Live Stream and Ryan Kingslien’s Game Art Institute Podcast. All those talks motivate and give me more insight into other artists' work.
Many thanks to 80 Level for giving me the opportunity to share my personal projects and I can’t wait to start making the next one!