Gia Bao Lam explains how the giant doll-like desert sculptures were created, how the scene was assembled in Unreal Engine, and how difficult it was to find the right lighting for the environment.
My name is Gia Bao Lam and I am a Digital Arts and Entertainment student following the track in Game Graphics Production. I’m currently on my way to entering my last year as I’m practicing to become a 3D Environment Artist. In the second half of 2020, I found my passion for stylized and environment art so I decided to pursue those passions with the following project.
Though I have no experience on a professional level yet I have some exciting plans for this summer, for example working on cool projects with other amazing artists and doing a small summer internship. My current goal is to expand my skills and hopefully soon become a Junior Environment Artist!
Getting Started With The Guardians
As I was doing my daily Twitter scrolling, I found an amazing concept made by Simon S. Andersen. As I’m a big fan of his work, I really love how his art is so unique when it comes to mood, color, shapes. You can see how much detail and attention was put into every piece like the huge guardians but also the small round ornaments in the foreground that are barely visible. I decided to recreate his environment in Unreal Engine 5.
The concept art was my main reference as I wanted to stick to it as closely as possible. However, since I wasn't able to make the original characters who were the initial focal point of the concept I had to play around with the lighting to give the viewer a new focal point to look at.
Simon S. Andersen's concept art
Sculpting the Pieces
My progress of making the props is very simple: I start off with a model in 3ds Max made with simple primitives and export it to Unreal Engine, I keep tweaking this until the proportions and size fit nicely into the scene. Then I go into ZBrush and give them a lot more detail and nice round shapes which is my favorite part of the progress. I also uniquely textured every prop in Substance Painter as I wanted to bake and accentuate every sculpted detail in each piece.
For the rocks I was lucky to find a tutorial on making rocks procedurally, I did this in Blender. I made around 4 types of rocks of different sizes and shapes, and this would be the only set I’d use to dress up the scene.
As this environment is a desert the first material created was a tileable sand texture. I did this in Substance Designer while following multiple tutorials.
To create the waviness in the sand, I transformed the Plasma texture and warped it together with Perlin Noise to make it random.
To push the height of the sand I added Parallax Occlusion to the landscape material instead of tessellation for optimization purposes.
To make the scene more realistic I added virtual textures, this made my props and rocks blend in with the sand and gave them a dusty feeling. This also removed clear edges between surfaces which gave off a natural feel.
This is the setup for the landscape material, you basically just need the Runtime Virtual Texture node to reference the current world position. This will be handy to calculate where the asset intersects with the landscape.
In the asset material we call "Runtime Virtual Texture", with the BaseColor information we can lerp it with the original color textures. This will result in a natural color gradient where the asset intersects with the landscape.
The lighting was the trickiest part of the project because my older projects didn’t have any complex colors or lighting. I achieved this look by using 2 directional lights: the source light which would represent the sun and a blue fill light. In the original concept, you see a lot of colors in the shadows like pink/red or cyan. Those colors were added by using low spotlights to make them blend in nicely. I also added a few spotlights to accentuate the focal points.
Also, a must for every piece with strong sun lighting is volumetric fog! By turning on volumetric fog in ExponentialHeightFog and upping the volumetric scattering of your directional light you create beautiful god rays which adds so much to your scene.
For the finishing touches of the scene, I added some sharpness to the scene by using the command “r.Tonemapper.Sharpen [number]”. This makes your scene a bit crisper so the textures of the statues would be more pronounced.
Once I felt the lighting had hit a satisfying level I started tweaking values in post-processing. For instance, I upped the Vignette in Image Effects to frame the piece better. In the colors, the contrast was upped so the focal point would pop out more. As the scene was normally very brown/yellowish due to the rocks, sand, etc., I played around a lot with the global colors so there would be a blue feeling in the shadows like in the original piece. This added another layer to the original blue fill light.
To give the scene a dynamic breeze I made the birds and cords of decoration. They were both very simple to make, for the birds, I made a quick and easy model in 3ds Max, rigged it, and gave it a simple animation in Maya. However, to make them actually fly through the scene I made a blueprint: this would allow me to place a spline and drag it along the scene, which would then become the flight path of the birds. This blueprint would take into account the flying animation, rotation of the bird mesh, and the duration of the flight. For this, I used a very straightforward tutorial.
For the cords, I did some research beforehand to see if it was possible and it definitely was! I just had to make a mesh and add a layer of cloth simulation, paint in the cloth weights and add a WindDirectionalSource to the scene. This was surprisingly quick and easy.
During this project, I definitely struggled the most with the lighting. The lighting of the scene went through multiple passes and I had a hard time recreating the right mood. In the beginning, it looked very flat and harsh while the end result has a lot of gradients with a lot more color. A habit that I have to unlearn is always starting with extremely unsaturated colors, resulting in very bland and dead pieces that need a lot of color fixing in the end. Thankfully I received tons of good advice and feedback during the progress, I learned so much from this project.
From my experience as a student, the advice I can offer is to surround yourself with people that will push you to the next level. I’m lucky to have a group of friends who I can rely on for some good feedback, to be a nice work company, or someone to give me a motivational talk when something isn’t working out. Seeing my friends’ improvement and their cool projects gives me so much motivation to work on my skills.
Thank you for reading this article, I hope my explanation was clear enough. I also want to do a small shout-out to Viktor Colpaert for continuously giving feedback during the whole progress, couldn’t have done it without you man!