Sargis Ter-Grigoryan talked about the production of his modular scene Ancient Ruins made in UE4.
Hello everyone, my name is Sargis Ter-Grigoryan and I’m a self-taught 3D Artist. I am from Armenia, Yerevan.
My passion for the game industry comes from my childhood. I remember how much I was keen on Nintendo and Sega games. When playing games I always wondered how they were made or how I could create something similar. When I was 15, I decided to explore the world of 3D. I started with SketchUp and created several buildings of my city which I then uploaded to Google Earth for fun. That was a long and hard pathway during which I even decided to leave everything and learn programming. Eventually, I realized that my passion was 3D and it should be my main profession. In my opinion, it’s important that everyone loves what they do. After learning 3ds Max I soon was able to work at local studios and at the same time, I studied in university.
Now I work as a freelancer and continuously add personal projects to my Artstation portfolio. As for Unreal Engine, I started to deepen my skills when I was participating in Artstation’s Feudal Japan challenge. I have learned a lot during that period of time. Currently, I am aiming at landing a job in a game industry leading company as an environment artist.
Ancient Ruins in UE4
Start of the Project
When I started the project, my initial aim was to create a modular pack of ruins for the marketplace. After creating the first pieces I soon decided to build my own environment and go with it even further than with my previous one. I always tend to create a reference board on Pinterest before starting any project. Thanks to its powerful search engine you can gather appropriate reference images and get new inspiration from them. Another good tip for quick reference gathering is the Pinterest browser extension which allows saving an image from other websites when browsing.
Once I have an idea of what I want to achieve I also look at some AAA games examples. Another great tool for viewing reference images while working is Pureref. I suggest it to everyone who doesn’t use it yet.
Sculpting & Texturing Workflow
I mostly start by blocking out the main modular pieces (e.g. walls, columns, etc.) and figure out the general proportions with the help of an average human scale. Afterward, I bring the basic shapes to ZBrush and start sculpting the details. A good approach is to start from big forms first and continuously work towards finer details. For sculpting, I mostly use the trim dynamic brush and some custom greyscale rock textures. Decimation Master also helps in retopologizing the low poly meshes without the need of doing it by hand.
I simply used smart masks to add edge damages and color variations. Each type of modules has individual texture sets, for example, column parts are sharing the same material, ground plates have their own material, same for bricks, etc.
Now I have everything to start making modular assets. For example, with the help of big bricks, I can create different types of walls and by using small bricks I created the stairs. It is also very important to use the grid when making modular assets. It will help you to place them faster and achieve more complex modules using the snap tool in UE4. So take care of it and it will take care of you later.
For optimization purposes, I created a tiled texture from bricks and assigned it on some walls. Now I use Marmoset Toolbag for baking PBR textures from the mesh. In the Configure Maps tab, I turn on Normals, AO, Albedo, and Roughness.
This outputs my preferred textures which I can also use in the engine.
In order for the scene to run smoothly, I generated automatic LODs in Unreal. It does a great job for this type of detailed walls. I used the same technique for other assets, too.
Vegetation might not be expensive if it’s crafted correctly. For the grass, I made 4 planes which I imported into ZBrush and used Fibers to generate grass meshes by tweaking parameters (length of blades, twist, count, etc.).
In Photoshop, I used fibers filter to generate some vertical lines, then multiplied colors and added some dirt on it.
Back to 3ds Max: I assigned this texture to the grass blades and made 4 planes again but this time for baking.
In Substance Designer, I baked opacity, color map, normal and AO, then created a roughness map.
This way I created final low poly meshes with as less wasted areas as possible. Afterward, I created some edge loops for adding depth to the grass.
For the ivy, I created a cluster with some leaves on it and used SpeedTree to grow ivy on the columns and walls. After having one sample I use Randomize function to generate more types of the ivy. For more variation in the environment, you can rotate, mirror and place them randomly in the editor. It’s optimized and runs well with LODs which you can configure in SpeedTree instantly.
Master Materials & Further Texturing
In UE4, I created two master materials: one for ruins and the other one for vegetation. For example, to make grass material I created a material instance from the vegetation master material and placed grass textures there. Less noticeable materials like moss were downloaded from textures.com and refined in Photoshop. Also, Substance B2M helps to quickly generate PBR textures.
To achieve nice looking moss in the environment, I used PrecomputedAOMask which allows adding moss texture in the crevices. Then, I multiplied a grunge texture to break up the soft generated feel.
Also, I increased the main AO mask power to achieve some wet smooth transition between moss and rock. It’s very simple but it gives the scene a little more natural look.
Unreal Engine has a bunch of great tools for lighting up the scenes which allow the artist to focus more on look development rather than struggling with technical stuff. Also, when tweaking light parameters it’s essential to have an artistic vision and real-time feedback of the lights. Unfortunately, most tutorials that I came across on the internet are heavily focused on technical aspects rather than explaining how to approach this stuff artistically.
Usually, I start lighting my scenes by choosing an interesting sky HDRI from hdrihaven.com. It’s a great source for free high res HDR images.
After setting the HDRI sky, I add a skylight which captures the sky and a sun light as my key source. I set the exposure min and max brightness to 1 in PostProcessVolume in order to caption correct light values in the environment.
For the best quality and more noticeable lighting, we have to pay attention to the base colors in the scene. They affect the visibility of the lighting.
For instance, darker values make the lighting less noticeable, whereas brighter and mid-range values make it more visible. For viewing the base color you can simply switch to buffer visualization mode. As shown in the image, you end up getting only flat colors.
If we check the values in Photoshop we can clearly see that the luminosity value is in mid-range which is what we were aiming for.
Once I finish lighting and build the final production lightmass, I start introducing post-processing effects (color grading, bloom, vignetting, etc.)
It’s important to find a good balance and not exaggerate the effects (i.e. over-expose lights, contrast, etc.). It will make your image look worse.
I also recommend taking some breaks in between. When you’re looking at the same image for too long, your eyes would barely notice some unwanted effects.
Therefore, we need to let our eyes rest periodically and review the setup a couple of times to find the right color balance.
Currently, I am uploading my modular kitbash to Unreal Marketplace which will be available for sale soon. I am planning to add more content and create different environment kits for purchase in the near future, so stay tuned and find the updates on my Artstation page ?
Finally, it was my pleasure to write this breakdown for fellow artists. Hopefully, I was able to help with some tips and techniques!
Sargis Ter-Grigoryan. Environment Artist
Interview conducted by Kirill Tokarev