Dmitry Rusakovich talked to us about the Tavern on the Road project, discussing how details, such as a building's shape and position and scattered vegetation, tell the story and explained the steps of modeling, texturing, and setting up lighting using ZBrush, Substance 3D Painter, and Unreal Engine 5.
Introduction
Hi everyone! My name is Dmitry Rusakovich, and I am a 3D Environment Artist. My journey into 3D graphics began with self-learning. I started with simple tutorials on YouTube, where I learned the basics of Blender and took my first steps in 3D.
Since school, I’ve been fascinated by games like The Elder Scrolls series, The Witcher series, Heroes of Might and Magic, and others. The incredible atmosphere and fantastic worlds of these games shaped my taste, sparked my enthusiasm, and ultimately inspired me to dive into the world of 3D art.
About the Tavern on the Road project
Getting Started
The project was born out of my desire to try to create environments, as I’ve been deeply interested in this field since I started learning 3D. To accelerate my progress and gain structured knowledge, I decided to enroll in the Game Environment in Unreal Engine course by Sergei Panin at Smirnov School. My choice fell on Sergei as a mentor because I had watched his YouTube streams and was impressed by his teaching style and the enthusiasm he brings to his lessons.
Being a big fan of fantasy, I chose this setting for my project. At the same time, I wanted to create something manageable for a beginner, which meant focusing on a smaller-scale idea rather than something overly ambitious. The feedback, guidance, and insights I received throughout the course were invaluable and had a significant impact on my work, helping me grow both technically and creatively.
First Steps
All work on the project began with choosing the concept. I was immediately drawn to the amazing concept by Yura Gvozdenko. It had everything I wanted to explore and create during the course, and it deeply resonated with me. I was fascinated by its atmosphere and details, which made me eager to bring it to life as a game environment.
My next step was collecting references that were supposed to be in my scene. The reference board was not collected all at once. I added many things later. The board included various things, such as refs for the building and its various elements, refs from games, sculptures, and finished works, as a reference for the quality I wanted to achieve.
Blockout
The project started with a simple blockout in Blender, and after, I exported it to Unreal Engine. The camera was set and adjusted manually.
While doing a blockout of the scene, I tried to stay as close to the concept as possible. I started from the blockout of the scene’s major elements – the tavern, the road, and the surrounding landscape. This helped establish the overall layout and ensure the main focal point (the tavern) was placed slightly off-center for a more dynamic composition.
Color
The initial painting stage helped me understand the number of materials. It’s also important to work with basic lighting early on without fully setting it up at the beginning. The goal is to make the scene look good even with simple lighting so we can later enhance something that already works well.
Modeling Workflow & Asset Creation
During the project, I worked with the following tools: Blender, ZBrush, Substance 3D Painter, Marmoset Toolbag, Photoshop, and Unreal Engine 5.
After transferring the blockout to Unreal Engine, all objects in the scene were divided into modular and unique. To simplify the work, my modularity came from the logical division of objects. As a result, the house modules turned out to be quite unique. For the building, I used a combination of tiling materials and unique textures.
Details for storytelling: The crooked shape of the building was intentional to give it character and suggest its age. Small elements like broken roof tiles, vines creeping up the walls, and uneven planks add a sense of abandonment and history. I added subtle imperfections, such as cracks, dirt, leaks in the plaster wall and on the roof to enhance realism and storytelling.
Ready modules of the house:
For creating unique objects, a traditional approach was employed, which included developing a low poly model, subsequently creating a high poly version, and finishing with baking and texturing. The high poly and low poly were done in ZBrush, UV in Blender, baking in Marmoset Toolbag, and texturing in Substance 3D Painter.
Wood & Walls
I sculpted three unique beams for the house modules, which gave me 12 variations. Additionally, I sculpted three more boards specifically for the towers, porch, and balconies. This approach made assembling the structures much more efficient and helped me save a significant amount of time.
I assembled the walls from this wall module, which mixes two tile materials on vertex paint and uniquely made beams.
Example of ready modules (without decals):
The wood beams were cut to length and joined to the wall in Blender.
Plaster material with vertex paint:
Roof
I approached the creation of the roof in this way:
For example, I’m using this basic mesh with UVs that are already set up. First of all, it’s important to enable Nanite for it, as this workflow is only possible with Nanite. In modeling mode, I remesh it.
In the target triangle count, it’s important to set a sufficient number of triangles; otherwise, the displacement will look blurry and low-quality. Next, go to the Displacement section, set the Displacement type to Texture 2D Map, and select the desired Height Map in the Displacement Map field. And we have a roof with real geometry:
I also used simplify to reduce the polygon count, which helped me remove the softness on the tiles. After that, I manually cleaned the mesh in Blender, created a skirt of tiles, and added it to the edges. (Before exporting the mesh from Unreal, I recommend disabling Nanite). After all, it started to look like this:
Unwrapping
For unwrapping, I used Blender with ZenUV tool. This is indeed a powerful tool that makes the unwrapping process easier. If you are using Blender, I highly recommend it.
Wood Beam 5m UV example:
For retopology, I used Decimation Master in ZBrush to lower the polygon count and make a low poly version. For my personal project, this method worked well enough.
Texturing
Unique objects were textured using the classic method in Substance 3D Painter, based on the reference. I used a similar texturing method for all the unique assets in the scene.
ZBrush Sculpt:
Material:
Material breakdown:
Terrain
For the terrain, I selected five materials from Quixel Megascans: soil, grass, and gravel, along with a few variations to ensure they complemented each other visually. To achieve a cohesive look, I adjusted the colors slightly to make the transitions between materials feel more natural.
Using Unreal Engine’s landscape painting tools, I carefully applied these materials to craft a natural and visually pleasing terrain. While I relied on ready-made assets for this project, the process allowed me to deepen my understanding of material blending and terrain composition, both of which were crucial for achieving the desired result.
I also enabled RVT (Runtime Virtual Texturing) to seamlessly blend objects with the terrain, enhancing the scene’s overall integration.
Terrain master material with runtime virtual texture (RVT):
Vegetation
All vegetation elements, along with smaller objects like rocks and debris, were taken from the great Quixel Megascans library. This allowed me to save a lot of time while maintaining a high level of detail and quality. Dead leaves were taken from Textures.com.
I tried to select vegetation in accordance with the concept and similar to the environment in which they grow. To make the environment feel more alive, I focused on layering vegetation of different heights and densities. I manually placed all elements of vegetation on my scene using the Foliage Tool in Unreal.
Composition
To assemble the final scene, I focused on creating a composition that naturally guides the viewer’s eye toward the main subject – the tavern. The road was used as a leading line, which curves gently and directs attention toward the building. The surrounding elements, such as the trees, fence, and signpost, frame the scene and add depth, ensuring the composition feels balanced and immersive.
The scene was divided into foreground, midground, and background to create depth.
- Foreground: Includes a town sign, a fence, mushrooms, and small plants to draw the viewer into the scene.
- Midground: The tavern and the road serve as the focal area, where most of the details are concentrated.
- Background: The mountains and trees provide a sense of scale and atmosphere, enhancing the feeling of isolation.
Detail Scattering
To scatter details effectively, I relied on the concept art as my primary guide, along with my vision to place elements in a way that felt natural and cohesive.
- Storytelling: Each detail was added to enhance the narrative of the scene. For instance, the broken fence and old signposts hint at a long-abandoned or weathered location, while the mushrooms and scattered vegetation bring a sense of life and natural decay.
- Placement: I focused on aligning the placement of elements with the atmosphere and composition depicted in the concept. This approach helped maintain the intended mood and aesthetic.
- Visual Hierarchy: Larger, more prominent details (like the fence and signposts) were positioned closer to the viewer to draw attention, while smaller details (like mushrooms and grass) were used to fill gaps and enhance the overall texture of the scene.
This method allowed me to stay faithful to the concept while ensuring the scene felt cohesive and alive.
Lighting & Atmosphere
To create the scene light, I used dynamic lighting in Unreal Engine 5 with Lumen technology, which provides realistic global illumination and reflections in real-time.
Lighting played a crucial role in tying the composition together. I used directional and some point and spot lights to highlight the tavern and create contrast between the warm sunlight on the ground and the cold, dramatic sky. Shadows from the trees and fence were positioned to guide the eye toward the main building.
For the sky, I used a Matte painting Skybox Pack from the Fab Marketplace. I also used some Easy Fog cards by William Faucher in the background to add atmosphere and depth to the scene.
Rendering
For rendering, I used the Movie Render Queue with basic settings. To improve the output quality, I adjusted the default settings by changing the image format from JPG to PNG for better lossless quality. Additionally, I enabled anti-aliasing.
Conclusion
In the beginning, I couldn’t fully envision what the final result of this project would look like. Many of my peers seemed ahead of me, but I reminded myself to keep going without losing enthusiasm. The process turned out to be incredibly rewarding and fascinating, giving me a significant boost both in technical skills and artistic understanding. Working closely with the instructor and exchanging ideas with fellow students was invaluable, helping me grow along the way.