Vitaly Zaytsev has shared the working process behind the Ramshackle Farm Distillery project, explained how he achieved his goal of featuring large architectural elements while minimizing the use of materials, and discussed the trim sheet workflow.
Hey there! My name is Vitaly Zaytsev and I’m a freelance 3D Environment and Prop Artist. I've been playing games since childhood, and, throughout my life, I have been involved in various forms of art. However, I never considered the idea of pursuing a career as a game artist until recently. I realized that I can learn the skills necessary for being a game artist myself with the help of available resources from the web and cool people from the art community
The Ramshackle Farm Distillery Project
I began working on this project in the summer after being inspired by the aliens and defending farmers in the "Suits" episode from "Love, Death & Robots." However, during my search for references and based on my preferences, I decided to create a fictional moonshiner farm instead.
My primary reference was Overwatch's Junkertown map – I liked it for its post-apocalyptic feel, although I did not want to restrict myself to that particular style. I did not have a specific outcome in mind and merely had a general concept, so I needed to play around with the design of the main idea based on the references.
My main goal for the project was to design a complete scene that featured large architectural elements while minimizing the use of materials and avoiding the creation of unique textures. Since I had prior experience creating trim sheets, I decided to use them to their fullest in this project.
Although I had previously started some projects with Unreal Engine 5, I had not completed any of them, so I saw this as an excellent opportunity to create a finished project and learn about the new features that the engine offers.
For this project, I chose not to take a modular approach to building architecture as there weren't many repetitive elements to work with. Instead, I created unique pieces, while still incorporating modular elements such as walls, pipes, and windows.
The first step was to block out the general shapes to get the scale. Afterward, I imported it into the engine to determine the appropriate proportions and establish the necessary environment to create the desired atmosphere.
During the process of creating the low poly models and refining the final look, I focused on sticking to two primary principles: expressive silhouettes and cartoonish shapes with curves. I value these aspects in stylized art and wanted to incorporate them into my work.
Trim Sheet Workflow
If you’re not familiar with trim sheets, they are an efficient way to texture a large number of assets with just one set of textures. They are used to quickly texture objects of various sizes, such as wall parts, beams, ornaments on various surfaces and panels, and decals, as well as long and thin objects such as ropes, cables, pipes, rails, and more, so you don't have to create unique textures for each.
Initially, I was inspired by the amazing talks from Thiago Klafke and The Ultimate Trim by Insomniac Games. I highly recommend watching them. Also, this article contains a lot of comprehensive information on trim sheets, as well as additional links on this topic.
The main idea was to place the trims along a single axis so that they can be tiled. They were designed to not attract too much attention and not have noticeable individual contrasts or spots (such as large chips, cracks, etc.). Otherwise, the viewer would lose the immersion effect because these elements show how things are repeated. It's essential to consider this limitation from the beginning.
For me, trim sheets are still somewhat challenging in terms of planning and implementation. But with enough practice, you can understand what can work and what may not be very useful in a given situation.
I wanted to take advantage of trim sheets in this project, so I broke down the entire building into a few types of materials that I would need and created them using trims.
I didn't want to make high poly and bake them on low poly. However, earlier, I came across Justen Lazzaro's cool Ultimate Trim Generator tool that allows you to do all the work in Substance 3D Painter/Designer. He talked about the Ultimate Trim technique in this article. As a result, realizing what I have in the scene concerning buildings, I knew what trims I needed, and I made several texture sets using the plugin.
I used several planes as a basis for tiling. You can find it in the samples of Substance itself (File – Open Sample) or use your model. The main thing is to constantly see how the tiling is going and whether everything works well.
Using the plugin, I made the types of trims I needed and exported the normal information so that later, I could load it again into Substance and use it as the base for baking the necessary maps such as Ambient Occlusion, Curvature, and others. You can, of course, use Substance 3D Painter's anchors, but for my taste, it is not very convenient.
After all the maps were baked, I started texturing. You need to keep in mind that the connections of different parts of the trims in your Normal map are your future edges, so do not try to dirty them with dust and dirt as you will most likely need the opposite effect. After a couple of tests, you can figure out how it works.
I spent a few days trying to figure out how normals work in Maya. For me, it was really difficult and not obvious, since I had never dealt with this. Here‘s an example:
I ended up with some textures like several kinds of wood, metal, and tile textures.
I was using Maya for modeling and unwrapping UVs. It has great tools for unwrapping UVs out of the box, but this tool is especially useful – you can lay out your UVs in a straightened way in one click, and it really speeds up the work. TexTools add-on for Blender has a similar toolkit, as far as I know.
After I figured out the design and textures, and how my trims would work, I started setting up the scene already in the engine along with the materials.
Since trims can look quite repetitive, I needed to add some variety to them. For this, I used vertex paint and a set of decals. I recommend you take a look at the Arcane Owl Studio thread, where I found their vertex paint shader with a few tweaks. The team shared a lot of useful information, and I'm grateful for that.
To add some variety to the textures, I made some masks in Substance 3D Designer. These black and white masks add the necessary detail and interest.
Landscape and Vegetation
I didn't plan to put a lot of emphasis on plants. They were just an additional background to complement the atmosphere and composition. As for the landscape materials and foliage themselves, I have very little experience. So, this was the right time to try my hand at it.
I sculpted all the materials of the ground and plants/foliage in ZBrush and painted with basic poly paint. To avoid exporting anything manually and not to bake on a plane, I used a ZBrush Compositor plugin. The plugin allowed me to transfer all the maps to Substance 3D Painter with one click and make the necessary changes there. Pablo Munoz has a demonstration video on how this plugin works.
Lighting and Clouds
I have noticed that lighting plays a significant role in the quality of your composition, assets, and environment in general. It can forgive a lot in terms of textures, and if enough work is put into it, it can help you a lot.
The most interesting and exciting aspect of Unreal Engine 5 for me was Lumen. I wanted to see what I could achieve with it, and I was very pleased with it as it works very well on its own, and you don't need to tweak a lot of settings to get great results. I think it's pretty easy to use, even with basic knowledge. This scene has a simple lighting setup and looks good out of the box with the basic tools that the engine provides.
Although Lumen is very cool in itself, I have observed various artifacts and lighting errors, especially those related to foliage. To understand how Lumen works and how to use its features, I watched all the videos related to these topics. The most important thing was explained by Epic Games itself in its presentation.
I used two main directional lights – one was used as the sun, and the other was used to add extra richness to the shadows. The trick is to make the value of the source angle of the second light quite large. I saw it in the Slay Workflow video, which is also a very useful series to watch.
Another cool feature is the real-time volumetric cloud system which works really well with dynamic lighting. I didn't know anything about this until I stumbled across a video by William Faucher, and with some tweaking, I achieved this result of lush clouds. There are a lot of parameters here and you can get confused, but after some attempts, you can achieve interesting results.
This project helped me realize that you need to understand the whole scope of work and divide everything into stages, thinking ahead of the steps. You need to focus on a very specific task for some time, instead of walking around the whole project and thinking about what needs to be done now and thereby slowing down the overall process.
If you don't enjoy a part of a process and feel like you're losing motivation, try to switch to another task that brings you the most pleasure and satisfaction. This way you can continue to work, and eventually bring the whole project to the end.
It is also useful to limit yourself in time, to have an idea of when you would like to finish it.
Don't forget to ask for feedback from your friends or art communities. Sometimes even a couple of words can change your attitude toward the project and you can look at it differently.
Thank you to 80 Level and Arti Burton for this opportunity, and thanks for reading this, I hope some of it helped you!