Andrei Egorov has shared the working process behind the Old Shipyard project, explained how props and a character were modeled, and discussed using Unreal Engine's Lumen to set up the lighting.
In case you missed it
You may find these articles interesting
Hi! My name is Andrei Egorov and I’m an Environment Artist at Saber Interactive. Currently, I live and work in Porto, Portugal. My career in the gaming industry has been going on for 5 years. You can check my previous article, Creating The Last of Us-Inspired City in Substance 3D Painter, Maya & UE5 here.
I think every artist visits ArtStation hoping to find something suitable and inspirational. And I’m not an exception. This time a spectacular work of amazing artist Piotr Krynski caught my eye. I fell In love when I saw it for the first time. So, the concept was chosen and I could start.
Preparing for Work
At the first sight, this work looks huge. However, if you check it closely you can split this working process into just a few key things – a robot, buildings, and a character. That’s it. The rest of the elements just add details. The main thing of this work is a robot, the second is a character, and the third is buildings. As for the buildings, they work as eye-guiding lines that narrow and focus our sight on the robot and character.
Behind the robot, we can see a bright sky which perfectly highlights the silhouette of the robot. All these moments make the work strong in terms of composition, silhouette, and colors. Thank you, Piotr, for doing the job for me!
In order to understand the proportions I used the character. The approximate height of a person is 1,8 meters. Based on it, I’ve got the basic proportions and rounded up a bit.
And then I made a rough blockout in Maya.
When everything suited me, I went further and detailed the blockout. Piotr has good references and I used them for modeling. It helped me a lot.
Buildings were made with Face Weight Normal – I described this process in detail in my previous article.
Port cranes were pretty basic. Just cubes with a tileable material. It’s enough for the background.
I always think about how to speed up my job. I prefer Maya and always use ModIt and Cable for fast modeling. Thank you, Wizix, for Maya's improvement.
As for the character, I downloaded it from Mixamo, looped animation in Maya, generated a cloth in Marvelous Designer, baked cloth animation, and just added it into UE5.
Breaking repetition up is probably one of the most important things when we work with tileable textures. I could use decals and vertex paint but a desire to try something new was stronger than I. So I decided to create a material that would change a mask based on asset position in the world. I like to keep my things simple and fast and have control over them.
The main idea was to blend two materials using a dirt mask multiplied by a mask with a random position.
How I made this you can check below. It generated the random value based on the object's world position thanks to my friend and amazing Technical Artist Luis Agostinho with whom we wrote this function:
Also, I always recommend tutorials by Ben Cloward if you need to create some good materials. He also has a video on how to create random UV transforms.
In total, I have a material with four layers. I used material layers in Unreal Engine. It allowed me to keep my materials clean and simple. Check this out below. Adjustable wetness uses a Gradient Multiply by Grunge mask.
The first layer is a brick texture; the second layer is just a color; and the third layer is a damaged brick texture with a random mask. The layer is again, just a color that was added using the second UV channel.
In the end, I got beautiful buildings with cheap materials.
I didn’t think to make close shots and decided to make a robot with unique textures. There is a cloth on the robot. And it allowed me to model only one leg and use maximum overlaps for saving texel density. 2.28 px/cm at 4k texture was enough for my purpose. By the way, the cloth is another good decision because this gave volume to the robot and brought a lot of good shadows.
The ground also had to be made without decals. So I made a simple material with puddles having absolute world position. For my goals, it was enough. Of course, I could complicate it and add blend normals, mix with a mask of cavities to add water only in pits, and so on. However, I decided to keep it simple.
I took blueprints from a free Epic scene. Just plane with a material.
As I mentioned before, Piotr made a lot for me. I just had to repeat his work. Lumen allowed me to focus on art not thinking about time. It’s wonderful to just add a light source and see how it works in real-time. The main part of the work does Skylight (HDRI Backdrop blueprint). Skylight settings are below.
Directional light was basic. I just changed the color and intensity a bit.
So, main light sources were added and it was time to highlight some parts and add accents.
By the way, the second mood appeared by accident – I just decided to play with the light and I liked it more than the first. The combination of cold and warm light always gives a great result. In the process of work, I decided to reduce camera DOF to highlight the robot and focus on him.
The post-process did a great job in this scene. Adding chromatic aberration and film grain gave my scene extra points to my scene. The same was with sharp materials.
I hope this breakdown was informative and, hopefully, the links and screenshots I have provided were helpful. If anyone knows how to improve any aspects of my work, please contact me via LinkedIn or ArtStation.
And finally, I want to thank my friends, Dmitriy Shevchenko and Ruslan Bordiug, for giving me helpful feedback and my beloved wife, Svetlana Milkova, who pushes me forward all the time! And, of course, I want to thank 80 Level for letting me share my process with you all.
Andrei Egorov, 3D Environment Artist
You may find these articles interesting