Jason Cheung Yi Kai discussed the production of his UE4 project Concrete Evergreen made with Quixel Megascans and shared a few methods for breaking the repetitiveness and highlighting the focal point in an environment.
My name is Jason Cheung Yi Kai, I'm currently working as a contract Environment and Props Artist at Dekogon Studios.
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:
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.
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:
Here is a simple vertex paint master material:
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.
Edge damage decal is another subtle way to make modular pieces feel less repetitive. You can learn more about this technique from Leonardo Iezzi here.
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.
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.
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.
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.
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!