logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

How to Make Atmospheric Stylized Modular Ruins with ZBrush & Substance 3D

Kirill Khafizov demonstrated the workflow behind his stylized modular ruins, showed us the material setup in Unreal Engine 5, and talked about making vegetation. 

Introduction

Hello everyone, my name is Kirill. I work in the gaming industry as a 3D environment artist. I started studying computer graphics at university, where I got acquainted with various 2D software like Photoshop, CorelDraw, and CAD programs. Later, the third dimension was added to that list. My first 3D software was SketchUp, but the most interesting thing began when I learned 3ds Max as a student. It opened up a whole new world for me! The first version of the editor that I managed to run was the legendary 3ds Max 2009.

I didn’t start my career in video game development right away. Before entering the game development industry, I worked as an architect. Working in architecture is primarily about shaping space and understanding volumes, and I now apply these skills when creating game environments. Today, I no longer use 3ds Max 2009 in my work, but I use many other tools. The choice of tools directly depends on the tasks I need to accomplish.

In this article, we'll talk about the creation of the Stylized Modular Ruins project. I'll do my best to share my experience and give a few tips for beginners, and I’ll be thrilled if the information presented here proves helpful or becomes a source of inspiration for you. Let's get started!

Stylized Modular Ruins

Initially, this project was conceived as a small set of assets that I could use in my future environments – something like a construction kit for assembling various architectural ruins. Before starting work, I always define the dimensions and plan the level of detail for the location. Even at the idea stage, I try to imagine whether it will be a 3D concept with a single camera shot or a larger, more complex project with numerous detailed elements and renders from different angles. This depends on how much free time I have. I don’t set strict deadlines for myself, but I’m not a fan of working on large portfolio projects for too long. It’s a constant balance between development time and the size of the project.

The next step is choosing the setting and artistic style. This part is simple. I enjoy medieval dark fantasy, so I immediately decided this would be a stylized or semi-realism project within that genre. Once these decisions are made, I create sketches and notes in my sketchbook. This helps guide me throughout all stages of development.

When looking for references, I use any materials that can help during the creation of the environment. This can include works by other artists, real-life photographs, artbooks, etc. When you work in the gaming industry, it’s incredibly beneficial to play a lot of games yourself and train your artistic eye. Video games are rendered in real time, and static screenshots allow you to see all the details of an image more closely. This helps in studying the technical and artistic techniques used by other developers.

Over time, I’ve developed the habit of taking screenshots while gaming and have built a big library of screenshots on my PC that I actively use as references for all my projects. For managing references, I use PureRef. I group sets of images and add comments to them. This makes navigation easier, especially if you want to keep everything in one file but have a large number of images on your board. Here's what my PureRef setup looks like for this project.

Blockout

The project begins with blocking out large pieces in Maya or Blender. At this stage, I don’t worry about how many elements I’ll need or what they’ll look like. This phase feels similar to working with sculpting clay – it’s all about exploring ideas and working with form. It’s a fast and low-res gray draft that I refine over time.

Vertical Slice

Once I’m satisfied with the blockout, it’s time to create the first vertical slice of the project. This can be a small fragment of the future environment or a simple scene designed to test main techniques, textures, basic lighting, mood, and the overall artistic direction of the project. This step helps to see how elements interact with each other and identify what needs to be adjusted.

In my default 3D scene setup, I added the Unreal Engine mannequin to understand the scale of the geometry relative to human height. At this stage, I plan a modular system and split the blockout into individual modular parts. I always save the original blockout geometry to have access to it if necessary. Remember: the more interesting your modules are, the more variability and reusability you’ll have when creating the final scene. 

Vegetation

Actually, I didn’t plan to include plants in the scene, focusing on architecture. However, I realized that the composition felt too monochrome and needed some color accents. Plants and flowers helped solve this issue. To create them, I used custom alphas baked from high-res geometry onto a flat surface in Substance 3D Designer and then created other texture maps with them.

I wanted the ability to adjust the color of my flowers in the engine. To achieve this, I assigned different Instance Materials to the stems and flower petals and added various color control parameters in the Master Material.

For the ivy, I used the Ivy Generator plugin for 3ds Max. For the leaves, I created custom leaf meshes and added them as geometry in the plugin's parameters. Afterward, I experimented with the settings until I achieved a satisfactory result. To gain more control during texturing, I baked branches and leaves into separate Opacity maps, allowing greater flexibility in Substance 3D Designer graph adjustments.

To create roots, I started with a base mesh in Blender, experimenting with shapes to create several variations. I aimed to diversify their forms so they would look distinct from every side. After that, I continued working on them in ZBrush. Using DynaMesh, I had unlimited control over the mesh, which made it incredibly useful for working on silhouettes.

After finishing the DynaMesh phase, I used ZRemesher for automatic retopology and moved on to detailing my sculpt. While sculpting, I utilized the orb brushes pack and standard brushes like ClayTubes, hPolish, and Inflate to give the assets a more stylized look.

Topology

For retopology, I used ZBrush tools like ZRemesher and the Decimation Master plugin to prepare the objects for UV mapping and texturing. This pipeline helps save time on retopology while preserving essential details. For UV unwrapping, I use the default Maya UV Editor.

Texturing

Texturing objects is my favorite part of the workflow. I use Substance 3D Painter and Substance 3D Designer to create textures. In my project, most objects have unique textures baked using Substance 3D Painter. It’s important to remember that texture visualization there may differ from how it looks in your actual game scene. I texture in multiple stages, checking the results in the engine each time under lighting and conditions close to my intended vision. 

My texturing pipeline resembles the workflow for creating 3D assets: first, you create the base material, then add details, and finally refine it. To streamline the process and increase efficiency, I created custom smart materials. These presets allow me to quickly transfer layer information between objects. I use them as a base and then adjust them individually for each asset.

Tileable Textures

Tileable textures were created in Substance 3D Designer in combination with ZBrush. Since my scene includes many broken fragments, the brick wall material was developed alongside the modeling of brick geometry. I needed to determine the tiling of the texture and create a smooth transition between the texture and real geometry in areas of broken brickwork.

Afterward, I made tileable concrete and moss textures. These are used in the project as standalone material textures, but I also wanted the ability to use vertex paint with these textures in the engine. 

For the trim texture, I created the base in ZBrush and extracted a tileable height map texture from it. Based on this, I built the final material graph in Substance 3D Designer. 

Unreal Engine 5: Material Setup

During the workflow, I created several Master Materials for my scene. Unreal Engine provides flexible customization for any technical requirements.  The main thing is to understand what parameters you need and not to overcomplicate the shader.

I began work on the main Master Material by creating a Material Function with various parameters that I could control via Instance Materials in the engine. These parameters included UV tiling, texture map adjustments, and color customization.  

This Material Function became the foundation to which I added new parameters as needed, such as material blending and vertex animation for wind simulation. 

Decals are a powerful tool that can elevate the detail quality of your projects. I highly recommend using them. For decals, I created a flexible material with the necessary adjustable parameters.  

Composition

From the start of the project, I planned to use an isometric camera. Isometric projection allows you to showcase three sides of an object simultaneously, creating a more organized and artistic presentation. I refined all compositional and artistic details within the vertical slice using the set camera. This approach helped identify problem areas and determine what needed to be adjusted, added, or removed from the scene.  The main advantage of creating environment scenes with modular asset-based modeling is the flexibility it provides when working with modules and the ability to create interesting art with them. As I created new objects, this flexibility only increased.   

Lighting

For global illumination, I used Lumen and configured the lighting through the Environment Light Mixer tab. First, I create Directional Light. I positioned the light source to achieve the most visually appealing composition. Next, a sky light and height fog. These were adjusted to add the desired atmosphere to the final image. When I finish setting up my global illumination, I add point lights sources for local lights and accents. 

For each camera angle, all point light sources were adjusted individually to match the artistic composition of each shot.

Conclusion

What initially started as a small set of assets evolved into a set of small locations. With each camera angle, I aimed to tell a mini-story, making it unique and distinct from the others. I can’t say exactly how much time this project took. It was created in small iterations during my free time outside of my main job. Perhaps it took around 3-4 months. 

Here are some tips for beginners:

  • If you're just starting your journey into the amazing world of 3D modeling and aren’t sure which software to use, don’t hesitate to try multiple options. Treat it as a tool to achieve your creative goals. You can always switch tools;
  • If you struggle with understanding shapes, don’t hesitate to make sketches in your sketchbook or using drawing software. It will help you!  
  • Begin with a small fragment that helps you understand the direction to take next. Don't try to create a fully-fledged open-world project with gameplay at the first steps;
  • When you create modular elements for your scene, remember that the creation of environment scenes with modular asset-based modeling is a highly flexible process. The more interesting your assets are, the more possibilities you’ll have when working with them;
  • Add color accents to your artwork;
  • If you plan to tie your creativity to game development, make sure to play games and observe the work of other developers;
  • Your work shouldn’t just be a beautiful image. The environment is your main character – it can’t speak, but it can tell stories. Always strive to tell stories through your creations. Even if not everyone understands them, someone will notice and take a closer look;
  • Maintain a healthy balance between work and rest.

When you’re working on a project, you’re solving numerous artistic and technical challenges, constantly switching between tasks. When I first started writing this text, I had no idea how to tell this story coherently. But gradually, it began to take shape – a rough low-res form at first, then a vertical slice, and now, here we are. You know what I mean. 

Thank you for reading this article! It was a pleasure to share the behind-the-scenes moments of my project and to organize my thoughts into a structured text. Feel free to leave your comments or ask questions – I’m always here. See you!

Kirill Khafizov, 3D Environment Artist

Interview conducted by Amber Rutherford

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