logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Creating Fantasy Story-Rich Scene Using ZBrush & UE5

Jurij Andreev talked to us about the Echoes of Battle project, discussing making an atmospheric large-scale scene and detailing the creation of different types of rocks, terrain, and dragon remains using ZBrush, Blender, Substance 3D Painter, and Unreal Engine 5.

Introduction

Hi! I’m Jurij Andreev, a Senior Level Artist currently working at Sperasoft. Echoes of Battle is a personal project that I’ve been thinking about for quite a long time. I first started working on it about three years ago, but progress was slow and scattered – life got in the way, including a move to another country, which meant I had to put the project on hold multiple times.

Most of the scene came together this spring, when I finally had the time and energy to focus on it properly.

I’ve always been drawn to large-scale, grounded fantasy environments – the kind that feel like they have history behind them. This project was a great chance to explore that interest and push myself through the full environment creation pipeline: from initial idea and composition planning to asset production, world building, and lighting.

Blockout & Composition

With the core idea already in mind, I started by gathering references to help guide the direction of the scene, defining the mood, composition, lighting, and overall atmosphere.

I also collected specific references for key elements like ruined castles, landscape types, dragon remains, and various props to make sure each asset would feel grounded and cohesive within the world.

The first step in production was blocking out the scene in Blender. Working in Blender allowed me to quickly iterate, adjust shapes, and experiment with different compositions.

Once I settled on a blockout that captured the look and feel I was going for, I brought the scene into Unreal Engine 5, where I started setting up the camera angles and initial lighting to establish the visual tone early on.

Blockout progress: 

Castle Ruins: Modular Approach

To build the ruined castle, I followed a modular workflow, which allowed me to reuse and rearrange elements efficiently while maintaining a consistent visual style.

For the modules, I used a combination of tiled textures and a unique set of bricks specifically created to add detail to the broken edges and damaged areas of the structure.

I also implemented displacement mapping on the geometry with a tiled texture to enhance the surface detail.

To create both the tiled wall textures and the custom brick set, I used ZBrush. Sculpting gave me the control I needed to add organic wear and variation to the stones while ensuring that both the texture and geometry could work seamlessly together.

It was important for me to maintain consistency between the tiled wall textures and the set of bricks, so that the transitions between them would feel natural and visually coherent:

Assembling the structures:

To maintain consistency between the tiled surfaces and the uniquely sculpted elements, I then textured both in Substance 3D Painter. Having both sets textured in the same way helped keep the materials visually aligned, which made a big difference when combining them during the modular wall construction.

For the wooden elements – beams and planks – I used assets from the Megascans library as a base. I assembled a small set of pieces and baked their textures into a single texture atlas, which also included variations with broken and damaged wood parts.

To add more variety without relying on high-poly sculpting, I combined different elements and used Boolean operations to create fractured edges and snapped-off segments. This workflow proved to be very efficient, allowing me to quickly generate multiple variations without the need for detailed sculpting, while still keeping the visual quality high and consistent.

Landscape & Rocks

My work on the landscape began with the creation of base rock shapes to determine the scale and proportions I would need for composing the larger cliffs and terrain formations. Starting simple helped me block out the silhouette and understand how the elements would fit into the environment.

The next step was sculpting in ZBrush, where I used Boolean operations to introduce natural-looking cuts and breaks. I prepared a custom set of cutter meshes using assets from the Megascans library. With the Live Boolean tool in ZBrush, I was able to combine these cutters with my base meshes to quickly add believable detail and breakups to the rock surfaces.

This workflow gave me a good balance between control and speed, allowing me to iterate on forms while still maintaining a realistic look that fits the grounded tone of the environment.

If you’re interested in exploring this technique further, I highly recommend the Gnomon and MachineGames breakdown video on the making of Indiana Jones and the Great Circle – they used a very similar approach for creating their rocks, and it’s a great reference for this kind of workflow. 

For the rock materials in the UE5, I used a blend of tiled textures along with macro detail maps, such as Normal Map and Overlay Map. The material contains only two full texture set layers: the base tiled rock material and a procedural moss layer, which is applied based on a mask to simulate natural buildup on the surface.

Additional layers were used to refine the look further, either by applying a simple base color texture or by multiplying a color tint.

I also made heavy use of Custom Primitive Data in Unreal Engine to adjust specific material parameters per actor directly in the scene. This allowed me to fine-tune moss coverage, gradients and other settings on a per-object basis, giving more control and variation without having to create multiple material instances.

Terrain & Surface Detailing

For this project, I chose not to use the standard UE5 Landscape tool. Instead, I worked with a traditional static mesh approach. Based on the blockout I created in Blender, I sculpted several terrain pieces in ZBrush. As the scene evolved, I made adjustments directly in UE5 using the Modeling Toolkit, which allowed for quick in-engine sculpting and mesh refinement.

The terrain material consists of three layers: two types of gravel and one layer of moss:

Since I wasn’t using displacement, I needed another way to add depth and surface variation. To solve this, I created a set of moss mesh assets using models from the Megascans library. The pipeline was fairly simple: I selected the base mesh, adjusted its poly density as needed, baked a normal map, and painted a mask when layer separation was required in the material. Once in UE5, I applied the appropriate material to get the final look.

Some of the moss assets were made even more directly — just a mesh with a tiled material applied, which worked well for filling in areas or creating quick organic detail.

Close-up of vegetation scattering:

Dragon Remains

The dragon remains were one of the most challenging parts of the project and required several iterations before I achieved a result I was happy with. The dragon skull was sculpted from scratch in ZBrush, using references I collected earlier.

To create the rest of the bone set, I relied on 3D scans of large animal and dinosaur skeletons, which I sourced from Sketchfab. This significantly accelerated the process, although the scans still needed manual cleanup and custom edits to match the visual style of the scene. I also created additional bone variants from scratch to increase variation.

For the materials, I followed the same logic as with the rock shaders described earlier – using tileable textures, macro maps, and procedural blending – but swapped in a different texture set that was more appropriate for aged and weathered bones.

Props & Scene Dressing

The props in this scene were created using a hybrid approach. Some assets, like skulls and bones, were sourced directly from Megascans or Sketchfab, while others were created from scratch or modified from free resources to better fit the scene’s needs. This approach allowed me to save time on background elements while focusing more effort on key props.

One of the most important hero props was the fallen warrior’s remains, which were crucial for one of the main camera shots. I treated this asset with more care and detail. To create the high-poly skeleton, I started with a 3D scan of a medical skeleton, then brought it into ZBrush to add extra detail, visible damage, and ground buildup, helping to sell the idea that the bones had been partially buried over time.

I also modeled a few pieces of the warriors armor, which remain attached to the skeleton and add context to the scene. The final asset was split into movable parts, so I could pose and arrange the bones freely depending on the composition of the shot.

Texturing was done in Substance 3D Painter:

River Creation

For the river, I decided to use a combination of pre-made assets and custom geometry to speed up the process while maintaining visual quality. I sourced a water material and a waterfall particle system from the Fab Marketplace.

The river geometry itself is made up of simple planes with the water material applied. To add more visual interest and control over the surface detail, I used vertex color masks to define areas with ripples, foam, and flow variation.

Lighting & Atmosphere

The lighting setup for the scene is fairly straightforward. I chose to go with a combination of HDRi lighting and sky textures to establish the overall mood. I also included a matte painting skybox as a separate mesh with a material set to additive mode, which produced an interesting atmospheric result that I ended up keeping in the final version.

I used fog cards by William Faucher, which worked great for layering the environment and helping separate the foreground, midground, and background. This simple yet effective approach allowed me to build an atmosphere without overcomplicating the lighting setup.

Conclusion

This project was challenging at times, but Im glad to have seen it through to the end – and proud of how it turned out. It’s a great feeling to bring a personal idea to life and see it fully realized after years of thinking about it.

Throughout the process, I focused on simplifying the workflow wherever possible – reducing manual work without sacrificing quality. This allowed me to concentrate on what mattered most: the final result and the overall feel of the scene.

I hope this breakdown gave you some useful insights or inspiration for your own projects. Thanks for reading!

Jurij Andreev, Senior Level Artist

Interview conducted by Emma Collins

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