Recreating a French City in UE4

Olga Luka shared the production details behind her cozy UE4 scene depicting a French city: working with references, creating the buildings, adding storytelling, and more.

Introduction

Hello! My name is Olga Luka. I am 26 years old and I come from Odessa, Ukraine. At the moment, I live in Saint Petersburg.

In 2017, I graduated from CGTarian (Animation & VFX Online School). I was very lucky to have Vladimir Fedorenko as my first mentor because he taught me a lot of things among which the most important one is to always educate myself.

I work at Sperasoft as a Junior 3D Artist, and this is my first job in the industry. I’ve been working here for about a year and unfortunately, I can’t name the projects I’ve worked on yet.

Villefranche sur Mer

Reference

I have not visited Villefranche sur Mer in person, but I will definitely go there as the atmosphere of this place impressed me.

There are quite a few photos of the fountain on the internet, but finding photos of the streets surrounding it was not that easy. For this reason, I used photographs of other streets in Villefranche sur Mer as well as various French and Italian streets with a similar atmosphere. Fortunately, in these countries, there are many such places.

It took me three days to find the references needed. To search for references, I used mainly Pinterest and Google Images. When everything was assembled, I saved the selection on a board in Pureref and started planning the work.

I also opened the location in Google Maps Satellite mode which helped me to accurately determine the location of houses and streets and approximately calculate the distances between them.

The most difficult thing was to define the proportions of the objects in the location. All photos were taken by different people at different times with different perspectives. I had to sort out the values of the camera perspective in 3ds Max and spend a lot of time matching the camera angle with the reference.

Ultimately, a comparison of dozens of references allowed me to achieve the final result. If you struggle with something, I advise to always check the references!

General Models

All the main shapes of the models were created in 3ds Max. For further detailing, I used ZBrush. The Normal Maps, Ambient Occlusion, etc. were baked in Marmoset Toolbag.

When working on unique models, I exported mid poly versions to ZBrush and created detailed high poly models there. If I needed a low poly model, I simplified the mid poly version. I tried to make the most out of overlaps if the shape of the model allowed me to do this. All props were textured in Substance Painter. The walls of the houses, parts of the roof and elements alike were broken into modules. With them, I assembled the houses in blueprint using grid snap.

Windows & Interior

In the whole scene, I have two types of windows with six variations of the shutters' position and one unique texture. To diversify the texture, I used Tint and Roughness values in Master Material.

The rooms inside the houses were created with geometry because the interior often changed. I changed pictures, the arrangement of doors, plants, furniture, and so on several times. I needed flexible and customizable space so moving geometry was easier than setting up a tricky shader. First, I created boxes of the right size for the rooms, mapped and textured them in Substance Painter. Then I added curtains, pictures, furniture, doors, and other stuff. After that, I put a static light inside.

Materials

I took the finished tile material for the floor tiles and I tried to diversify it as much as possible with the help of vertex paint. I created some volume using heightmap and parallax but apparently, I needed to make it bigger.  In the end, I added decals to diffuse, roughness and normal maps.

For the walls, there are two different plaster materials. They were mixed with the help of vertex paint and varied with decals.

To create them, I searched for high-resolution photos with characteristic marks. These places were cut out by mask and processed in Photoshop. After that, they were exported to UE4 and after setting up the shader, they were placed in their places on the walls.

Storytelling Elements

Due to the fact that there were no people in the streets and the rooms, I decided to use some paintings like "Dancing couple", "Reading woman", and "Ballerina" to give the viewers an idea of inhabitants and their life. To liven up the streets, I also decided to scatter some leaflets and decorations to create a feeling of the holiday. With posters, plants, wires, decals, and other details like a newspaper and a hat on the bench, I tried to create the feeling that people have just left that place to watch the fireworks and they'll be back soon.

To arrange small details (confetti, leaflets, etc.), I used the UE4 foliage system. Larger objects had to be distributed manually. It was also a challenge for me to make clothes and flags move in the wind. For this purpose, I created a shader in UE4 which moves those things based on a certain mathematical function. Here, I want to thank my mentor Sergey Panin for invaluable help in understanding Unreal.

Moving Water

The hardest thing for me was to create moving water as I had never done VFX before that. I had to study a lot of tutorials before I could achieve results that looked like water. In the end, I used geometry with the animated texture of water and VFX to create some haze and splashes.

1 of 2

Lighting

I used both baked and dynamic lighting. To customize the scene, I used Skysphere, Skylight, Directional Light, Post-Process Volume, Reflection Spheres, and Exponential Fog configured so that it creates an aerial perspective.

At first, I created simple draft lighting. After that, I worked on the scene based around it which caused a number of light artifacts. After that, I tried to highlight the main points of interest which are the cafe and the bench at the fountain.

I changed the mapping in the second channel for problematic models, and this allowed me to get rid of seams when baking light, plus I changed the resolution of the lightmap. The next step was to add dynamic lights to the lanterns. I softened the glow by changing their volumetric value. 

At the same time, I constantly adjusted the settings of the post-process, bloom settings in particular. I also assembled a shader that creates a sharpen effect, so that the picture is not blurry.

A couple of guides helped me a lot in this process. One of them is below, the other can be found here (but it's in Russian).

When the lighting was tuned and adjusted as I needed, I began to make accents brighter, focusing on the final shots. In the end, I did a barely noticeable color correction in the post-process.

Afterword

I'd recommend approaching the creation of a level more technically. Use procedural workflows as much as possible to speed up the process and improve scene optimization. And also, do not be afraid to ask professionals for advice.

When I started to work on the scene, nothing looked good and I could not believe that in the end, I would get an attractive result. But as the project developed, everything gradually fell into place. It was a valuable experience and I am grateful to Sergey Panin who guided me through the difficulties.

Thanks for reading!

Olga Luka, Junior 3D Artist at Sperasoft

Interview conducted by Kirill Tokarev

Keep reading

You may find this article interesting

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more