Creating 19th-Century Setting with UE4
Check out Grigoriy Karmatskiy talk about the amazing things he learned about the production of game environments.
Introduction
My name is Grigoriy Karmatskiy and I’m a 3d artist currently living in Saint-Petersburg, Russia.
I’ve been working professionally in the video game industry for about 6 years in various outsourcing companies and I specialize in hard-surface modeling and environment art.
Currently, I’m working on my own projects and portfolio. Tram Depot is my latest work I developed during Clinton Crumpler’s course on CGMA.
The Project
My main goals were to create a scene in late 19th-century setting which could be interesting to make and challenging at the same time. Also, I wanted to learn more about Unreal Engine 4 and the lighting and I decided that Clinton’s class fits the best for that.
I started by gathering reference for the scene. Up until the end of the first week of the class, I was choosing between tram depot and a different scene based on existing concept.
The first iteration was bigger than the final scene and looked more like a train station with several levels and huge spaces. Ever after big shrinking the depot seemed to be too big to be made in 10 weeks but I was already in love with the idea so I decided to risk and make it anyway.
I was inspired by “The Day the Wires Came Down” by Benjamin Carre and Black Wall Yards warehouse environment from The Order 1886 by Nestor Carpintero. Also, I would use as reference some concepts from Bioshock Infinite by Ben Lo and various photos of existing depots, workshops, railroads of that era and so on.
Modularity
I started to think of modularity and how to make it the most rational way possible. I made a Trello board with all the assets and modules I needed. I think it’s very important to have such board or list, it helps to understand the scale a make correct estimations for a project.
When the list had been made I started making modules of the building and made several blockouts inside 3ds Max. It’s a good idea to set proper size for each module and make sure everything connects to each other properly early in the development.
Quickly after that, I switched to trams and I made them as modules as well. Each tram was made of pieces which could be used for making passenger\cargo variations and as individual props as well (tanks/pipes/engines).
Once I’d finished trams I continued creating small props and added them to the prototype. As a result, I had around 110 individual assets including 40 building modules and 14 tram parts.
At that stage, it was the best time to check the scale and make sure that all the objects, as well as the scene itself, looks good.
Most of the building parts, steel beams, railings, balconies, bridges were made using face weighted normals. I would use it for shelves, tables, frames and many small props as well. My plan was to replace some of them with uniquely made props later if I have time.
For High poly modeling, I used 3ds Max. Some of them were polished in ZBrush to add small dents and details. I tried Marmoset Toolbag 3 for baking and really liked it. It is fast, intuitive and it allows you to paint normal direction on top of the model.
Texturing
Having so many assets was not an easy thing for the texturing. I decided to use tiling and trim materials with color tints as often as possible. Texel density for the most props is 1024px per square meter and I didn’t use textures bigger than 2048×2048.
Bricks and floor material is a blend of 2 texture sets via mask and vertex color + parallax occlusion mapping for extra volume.
Tram is a good example of using several types of materials. I used a few color-tinted trim sets (interior, exterior, painted metal, wooden trim for doors), several unique textures for bigger parts and texture atlas for smaller details.
Tiling and most of the trim textures were made in Substance Designer while for uniques I used Painter. I made smart material for Painter which had all basic surfaces such as metal, rust, wood, paint, rubber, dirt with proper values and I applied it to all unique props. If time is limited its necessary to have something like this.
Also, I used Quixel Suite to make a few wooden textures which helped to achieve realistic yet very quick result and Photoshop for decals and posters.
Another important part was adding storytelling elements, sings and various imperfections to make it more believable. I made various posters, newspapers, broken pipes. I placed instrument which was forgotten by some of the mechanics, puddles, wires lying on top of the metal beams, accidentally spilled paint and so on. Things of that nature bring more life to the environment.
Lighting
Lighting was the most challenging thing for me and it took me a lot of time to find the recipe and right settings.
I wanted to make it relatively bright to show most of the environment and keep depot mood at the same time. This was one of the reasons why I chose ceiling with windows. It creates interesting volumetric effect and shadows and brings more light to the scene.
I used directional sunlight + skylight as the main source with several artificial lamps to light up dark corners and highlight the tram. I made just a few fake lights and most of the time I would adjust reflection sphere intensity if some corner or place looked too dark.
Even though in real life noon sunlight has a temperature of 5500 kelvins I made it a bit closer to orange color (4900 k) as well as I increased blue color intensity for the skylight.
An indirect lighting intensity was also increased (sun – 2, skylight – 5, lamps – from 1 to 1.5).
I had troubles with the way UE4 renders indirect lighting and many wall/floor modules had weird seems on the corners regardless of lighting quality. At the moment the only solution I found is to make bigger pieces. I hope it will be fixed in the future updates.
Volumetric light and Exponential Height Fog made a huge impact on the way environment looks and feels. I changed Volumetric lightmap density from 200 to 25 to achieve higher quality. The scene is relatively small so it didn’t affect memory and render time that much. An intensity value for the fog is 0.1 and 1.25 for scattering. Scattering for sunlight was also increased. In addition, I made a few movable red lights to increase a volumetric effect of railway signals.
Also, I added Planar reflection for the floor and Convolution bloom to make final result a bit more realistic. The last step was using various particles from UE4 starter packs such as dust, steam, and smoke.
The Class
My overall experience with the class was very positive. The class atmosphere and strict deadlines helped me to finish the whole scene within 11 weeks which was also very important for me. During the course, I’ve learned a lot about the engine and got familiar with many small things about the production in UE4. Also, each weekly lesson had a lot of additional information about the topic.
Thanks a lot to Clinton Crumpler and everyone who helped me with advice.