Today we want to talk about how we approach the environment design for Zero Six.
We usually start with a so-called environment art style test. It entails the creation of a small-scale scene. It is a way of getting a sense of what a finished level will look like. It plays a big role in shaping the overall look of the game. They are generally presented (internally to the team) as a fly-through video or even a small playable demo.
Small scale dioramas are used to test how different assets work together.
In specific we want to talk about the jungle scene you can see in the screenshots below. This scene, in particular, is based on two concept images from concept artist Florent. Those were given to Ehsan to create the needed assets and textures and put together a small diorama scene based on the concept images.
I always start by studying and researching the concept I want to work on. For this scene, we wanted to go deep into a tropical rainforest. It was important to know the biome and find the species that grow there.
I mainly used Megascans and Speedtree for vegetation. I love both products and I have my own way of using them. Procedural software and photogrammetry products are helping the industry a lot. However, I think the idea of drag and drop models in the scene and render is not good enough. I tend to edit, combine, change a lot of the scanned object before bringing them to my scene. As for any procedural, I would like to use them smartly and, in a way, that my models look as natural as possible.
Textures and Materials
For the foliage, the native UE4 shader for two-sided foliage is being utilized. Since the forest is very dense and only a limited amount of light passes into it, translucency in the leaves is very important. It helps in terms of lighting and enhances the readability of the scene. Below, you can see the main shader part. The moss shader uses fuzziness and is based on the Z-axis of the object.
This is an early test comparing default UE4 shader with my test, which was using fuzziness and some tricks from what was used for Uncharted 4. Both shader balls are using the same texture maps.
Textures are made using Megascans, I like to combine, edit, and add different textures instead of directly using what I can find from Quixel. Megascans are great, especially, when it comes to foliage and natural environments. But the scene can get pretty noisy and hard to read if you just drag and drop textures and models straight from Megascans to the scene, I play with the colors, combine different textures, and edit alpha channels to make them readable.
Lighting & Atmospheric Effects
I used real-time lighting for this scene. The whole scene is using directional and skylight for the main lighting. I used some point lights to fake some details, but the main lighting is coming from the two lights. The angle of the sunlight and shadows was important for my composition.
The most important point in this scene was to make it look like a natural, lush tropical forest while keeping the scene readable and not noisy. It gets harder in this kind of environment when you have many different assets with close hues. Good composition, lighting, and correct values helped me in this matter.
I used an Exponential Height Fog with Volumetric fog on, fog is cool, for sure, I see a lot of overused which can cause the scene to look milky and unclear. I tend to have a little bit of color in my fog to sell the mood of the scene.
The god rays and light shafts are set in my directional light volumetric scattering Intensity. Again, it is subtle, and I tend to not overuse post effects and light features. I want to tell a story and everything else should help my story and not become a story themselves.
So where do we go from here? As a next step, the assets are being implemented into an actual game level. Levels (for single- and multiplayer) are produced as so-called greybox levels first. Below you can see an early stage of one of our first jungle-themed levels.
Levels are heavily play-tested in this stage. Only after they fulfill certain criteria an environment artist starts working them. Taking the blockout and turning it into a complete level. How this process is being done will be featured in an upcoming dev blog - stay tuned!