Russian Apartment

Environment Breakdown

Mikhail Beresten


Mikhail Beresten

3D Artist


Hello everyone! My name is Mikhail Beresten, I am 20 years old and I was born and raised in Komsomolsk on Amur and now I live in Khabarovsk, Russia. Here, I am studying at a local University although my course is not directly related to Environment Art.

Idea and references

The main purpose of creating this level was to apply it to my current project “Relieve”.

Events of the game take place in the fictional modern Russian Far Eastern town of Krasnopol, which is why I needed to create apartments in a modern post-soviet setting. This one is an example of that.
To find references I looked through some of my own old photos, searched apartment ads and surfed public collections of photos with specific aesthetics. When I finished the research, I collected these pictures.



To define room sizes and positions I used one of the most popular post-soviet layouts and added some changes for gameplay purposes. For more convenient movement I increased size of rooms. Big areas also can be explained by the type of house, Stalin-styled buildings.
I added an extra room to the left, because I wanted to create its own narrative aim. Also, one of the rooms has two entrances. It is not quite realistic from my point, but it makes the apartment more convenient to navigate.
After layout definition, I made a rough blockout to test composition.


Asset production

Almost all stuff for this environment was modeled by myself, excluding the free balalaika 3d model from mrTorch and purchased backpack. For organization purposes, I divided all assets into 4 groups: furniture, cloth, modules and small assets.

My main 3d modeling software was Blender, where I modeled everything except cloth meshes.


Almost all the furniture models in the apartment use trim sheets.

The essence of the method is that you can use the same texture multiple times for different objects.
As you can see in the picture below, in my project the most notable examples of the use of trim sheets are:

-Varnished wood for different types of tables, cupboards, chairs and many other (marked red)

-Painted wood for doors, entresols, plinths and some furniture (marked yellow)

-Kitchen material (marked blue)

For interesting variations of wooden materials and dividing furniture to soviet and modern styles I implemented a material function that controls saturation, brightness, and contrast of albedo. Also, I made simple roughness and specular control.


Cloth meshes were simulated in Marvelous Designer. By using this software, I got realistic shapes for blankets, pillows, rags, and tablecloths. But I needed to make more wrinkles for better visual quality. So, I opened ZBrush and sculpted these details by using cloth alphas and DragRect option for the brush. After sculpting I made low-poly versions of clothes (Decimation Master in ZBrush) and baked all wrinkles to normal map in Substance Painter.


There are plans to create other locations by reusing a lot of assets that have been made for this apartment. With using modular structures, I don’t have to open my 3D modeling software every time when I want to assemble another environment because I already have premade pieces to construct as I prefer.

All modules use tileable textures. I added dirt blending through vertex painting to get more irregular surfaces.


Vertex painting needs more vertices to get flexible blending control. That is why I made a grid-like topology for structures.
For the creating of soft-bevel corners, I used free Blender addon Y.A.V.N.E. that allows me to get awesome shading just by controlling faces normals.


Scene assembly

The main goal in terms of understanding the context of the time was to let the player know that the events are taking place in the present day and not in Soviet times.
The main signs of it were modern appliances, boxes and an abundance of wires.

I also like how the blue box works for composition, it is the most beautiful combination of soviet and modern styles. It reflects the light falling on it and makes it blue.
This is a wonderful example of color bleeding from my point.

I had been experimenting and learning master materials for a long time and as result I made some presets that allowed me to get a more flexible control of how the scene’s components would look. To get better results, I can adjust dust, change intensities of roughness, normal and specular. For tileable structure materials, I also made an ability to control normal map tiling separately.


One of the rooms was supposed to have windows with curtains closed, so I thought about how I could create the window-shaped light coming through the non-translucent fabric. After a series of failures with trying to get a fair result, I decided to fake this light.
I opened curtains in Substance Painter, projected window-shaped rectangles to them and masked these rectangles with baked curvature map. By this way, I got an emissive map for curtain material.

Also, I made curtains meshes two-sided. The side of the window gets all the skylight and reflects it to the walls nearby. The side of the room has this faked emissive and radiates it.



The apartments environment has the purpose to make players have certain feelings like home comfort, nostalgia and the feeling of days gone by. There was bright life but it’s now in the past.
It was important to make a correct first impression for the moment when the player first enters. I wanted to create an aspiration from the darkness behind to the light placed in front of the viewer’s face

To create an appropriate mood, I decided that I can use only light from windows. Here I had a challenge: to illuminate the dark corners sufficiently and not to overlight the windows. For such purpose, I placed Lightmass Portals in the windows and doorways.
They tell Lightmass that more light rays should come from this area yielding higher quality light and shadows. So, after this addition, I got a little bit better light distribution.

Then I added volumetric fog to make a look of some dust in the air.
I made light from the windows by baking of skylight. There was another challenge, especially for such type of lighting: to avoid light leaking in unexpected places. For this, I exported the level from Unreal Engine to Blender and modeled special box with the shape of apartment. Then I placed this box in Unreal and kept it static, and the threat of light leaks was gone.


After baking the light, I had to place sphere reflection captures correctly. Positions and brightness of them may greatly affect the result.



There were about four months of experiments with master materials, PBR, lighting.

I learned a lot of new methods and technical aspects that are going to be used for faster and better creation of new environments in my game.


I want to express my gratitude to the Russian-speaking community CG Allies and personally to Sergey Panin for their educational streams about Environment art

(especially for this:

Before watching them, I had to make a lot of mistakes in my pipeline and was really confused how to make technically correct and impressive levels, so these videos opened my eyes.
I also got a lot of knowledge about master materials and how they work by researching them in Dekogon’s projects. It really helped me quickly dive into the modern real-time environment pipeline.

It was a really large project. I spent twice more time on this than I first planned. But I hope that my new knowledge will let me make the next environments faster with keeping good level of quality.
If you have any questions or you just want to follow the development of my project ”Relieve”, here is my Artstation profile (

Thank you!