Kiril Zangagolev discussed the production details of his UE4 project The Favela Barbershop, a realistic environment recreated from a documentary series by wocomoHUMANTIY.
In case you missed it
You might find these articles interesting
Hello, my name is Kiril Zangagolev and I am in my last year of studies doing a Game Art course at DeMontfort University, Leicester.
I got into 3D by doing some modeling and animation courses back in Bulgaria where I am from. In the final part of the courses we had a group of 30 people and we made a game in Unity. My role was to create one of the levels and I absolutely loved it. Since then I knew I wanted to do environment art. I have been working on personal scenes in UE4 since the end of my first year at university.
The Favela Barbershop: Idea
The idea for The Favela Barbershop came from a fascinating documentary I watched back in early spring probably. It was the end of the second year of the Game Art course and I was thinking of what project to do over the summer. This documentary really grabbed my attention and in a few days, I was convinced to make the scene from this doc as my summer project.
What I really like about it is the unique wear and even charm, in my opinion, that seems to accumulate just from the poverty and the people not being able to afford normal conditions. To me, it adds a lot of character to the scene. The taped up plugs in the power sockets, the chairs with headrests from another chair, the cheap, old fluorescent lamps and office chairs, and the general half-fixed up nature of everything because of the lack of money adds a lot of interest in my eyes.
Before getting further into the article I want to mention the people who gave me feedback: Georgi Gavanozov, Georgian Avasilcutei, and everyone from the various discord communities I am a part of. They helped me with this scene by investing some of their valuable time into giving me feedback at different stages as well as advice or ideas on how I could tackle certain issues or what the scene could further use.
I took screenshots of any and every angle that the video offers and put them as a base reference. Then for every specific prop or thing I needed references for, I took more screenshots. I must have watched this video 50 times. And in the end, I sort of knew the place like the back of my hand.
One interesting thing I can mention is that I got a few pictures from the cinematographer who did the documentary. He must have been impressed and took some pictures with his phone for himself that weren’t included in the documentary.
Here is the reference board:
In the blockout stage, I had some problems because I didn’t measure accurately enough the proportions of the space. But in the end, I managed to get it close enough to the reference. I simply used 3d Max to model. One thing I had a problem with throughout the whole modeling process was the fact that this scene is located in Brazil and information about everything is very obscure or hard to find. If we start with the blockout, for example, I thought that tile sizes are similar to my country but it turns out they use almost twice bigger tiles in South America. But in hindsight, after I got the height and width of the garage (the space that the barbershop is in) about right, the door fit right in place. Soon after that, I got the mirrors correct, and with the height of the chairs and planks, the proportion of the whole scene got natural and fell into place quite well.
I didn’t use the Unreal mannequin because you will be surprised how much chunkier it is than a scanned model of a man of the same height. The Unreal model works for third-person games with big open environments but I wanted to get everything in more natural proportions that’s why I used the scanned woman and man.
Comparison of the mannequin vs a scanned model:
Speaking of proportions, in addition to using natural human reference for scale, once I get a model of a chair, for example, in the real scale, I compare my next models with this chair and try to get the same proportion as in the reference images.
In the blockout stage, I would also block out the lighting. It just helps with previewing everything. Having a close approximation of how everything would look like in the end helps me judge the scene better.
Building the Scene/Modeling
After the blockout comes the stage of making the main tiling textures and also the main elements of the scene. I like going from most impactful to the least impactful elements for both tiling textures and models. I started with making one chair, some mirrors, the wooden planks they put their stuff on, and the walls and door. These assets seemed to be the most important elements at that time. I didn't make the walls modular because none of the walls in this place were the same. I constructed the space in 3ds Max so I had everything lined up.
This is some of the models in the scene aligned with each other and also matched with some human scale:
This is my favorite part of the whole environment creation process. My approach was quite simple: I just used a world-aligned vertex blend material for the walls, ceiling, and floor, and for the props, I used Substance Painter to add as much grunge and variation as I can.
The floor was separated into four pieces and I assigned different IDs to sets of polys to create the change in tiles. Then on top of those changes, I added some grout line decals that I could place between the tiles to cover the seams and also add some variation.
The walls are just a vertex blend material with 4 layers: one base green painted wall, a damaged version of the wall, a dirty version, and another whole different version to get some variation. For that layer, I used two Megascans textures that are very unique and interesting, I matched their color with my own painted wall texture. Because of this, I pushed my wall texture further so that I could mix and match it with the quality of the scanned textures.
I used a big number of decals from Textures.com to get more specific damage on the walls because vertex painting isn’t sufficient and accurate enough.
Speaking of the columns, I'd say they turned out good because of several reasons. I put a bit more focus on them because they were the focal point in the main shot and I also liked how they looked so I wanted to make them properly. Another reason is that I made them early in the project when I had more energy and the summer wasn't in full swing yet. I used Painter to make them as unique as possible as I said before. After that, I used a grunge mask with blur and histogram scan to get the chipped look of the paint.
The chairs are all done in Painter. They all share similar materials – plastic, leather, and chrome so they were a bit repetitive when it came to texturing. It wasn’t possible to create all the chairs from the ref so I took a few different ones and recreated them. At first, I didn't put too much unique damage and dirty spots because I made a material that allowed me to change the leather or the cloth color of the chairs. But in the end, they were looking a bit too new compared to the walls so I had to add some more bold secondary grunge and damage. I have to say I still could have pushed the chairs further. I could have added even more detail in the modeling and the texturing stages.
Some of the chairs:
I used Megascans for one main reason – I didn't have enough time to finish this scene before the start of the next academic year. I was working on this scene from May to the end of September but I didn’t spend on it more than 4 hours a day. In the end, I was left with the most unimportant and least noticeable objects not done. In my view, it is reasonable to use Megascans for such objects. I used some cardboard boxes, some metal boxes, and some random wooden boxes just to fill up the wooden platforms a bit more.
I decided to use GPULightmass to test out if it worked well and I can say I am completely satisfied. It gives amazing results without any setup. You just need to set your quality and it works without any problems. But on 1070ti, it took almost one hour to bake the scene at the max quality so in the end, it took almost the same time as baking lighting normally without GPULightmass.
In general, I tend to do the lighting improvements and adjustments while I am doing the scene, so when the whole scene is about 70% completed, the lighting is basically finalized.
I used a sky light with an HDRI, but the scene is too deep for the light to fill it without overexposing the front 1-3 meters. So I kept the HDRI only to affect the front part of the room:
I used the emissive lighting from the fluorescent lamps as a base to fill up the room. On top of the emissive, I used dynamic spot lights to make the reflections pop because emissive light sources didn't produce any good interactions with the surfaces. This worked wonders for the materials but it is quite costly, especially when I turned on raytraced shadows from the dynamic spot lights.
Another thing I did in the name of juiciness is put a planar reflection on the floor – it made the tiles reflect light way better. It made the scene better despite the cost of multiple planar reflections.
I struggled a bit with the lighting being flat, as the whole place is filled with fluorescent lights but in the end, I decided to stick with the reference. Changing the lighting would mean changing up the whole mood of the place into something almost unrecognizable. In the end, I managed to get a decent realistic representation of the reference.
Here is a comparison of my scene (1) and the ref (2):
The most notable challenge was the fact that this scene is extremely unique in nature and requires way too many unique props, and it took a lot of time and energy to create them. In the future, hopefully, I can figure out a way to make extremely unique scenes faster or maybe choose scenes that require fewer unique props.