Sena Sarwari provided a breakdown of the Dwarven Vault, a large-scale real-time environment with a narrative centered around a dwarven mountain stronghold.
Introduction
My name is Sena Sarwari, and I'm an Environment and Prop Artist based in Ajax, Ontario. I specialize in 3D art with a focus on creating immersive worlds and detailed assets for games as a freelancer.
My journey into 3D art started back in high school. I've always loved games and wanted to create something that could bring others the same sense of joy and adventure I felt growing up. That interest led me to take art classes, communications technology, and even coding, which eventually sparked my passion for game development. After graduating, I enrolled in the Game Art program at Durham College, where I received my first hands-on training in 3D modeling and learned the fundamentals. While the course gave me a strong foundation, I wanted to push myself further. I continued researching and eventually enrolled at Think Tank Training Centre, where I studied in the Environment and Props for Games program. That experience helped me take my skills to the next level and reach the standard I had always aimed for.
In terms of project experience, I contributed to Speed Run and Transformers: Decepticon Invasion during my time at Dark Slope studio. I worked closely with motion capture and VR simulation teams in a QA role, helping test interactive features and supporting artists with user experience. It was a fast-paced production environment that gave me valuable insight into real-world game development workflows.
Getting Started
How I got started with the Dwarven Vault project is actually a bit of a journey. Originally, I was planning a cozy, medieval-inspired village, something warm and familiar. But as I developed the idea, I started to feel like I was repeating myself creatively. I'd done similar projects before, and I wanted something that would seriously challenge me and feel fresh.
That's when I pivoted to the Dwarven Vault. I'm a big Lord of the Rings fan, and the idea of exploring a dwarven world gave me a different perspective. Instead of the warmth and charm typical of fantasy settings, I was drawn to the boldness, the cold stone, and the sense of ancient grandeur. Those elements shifted my mindset and pushed me to think differently about mood, scale, and detail.
It also became a great opportunity for me to level up technically. I focused on improving my sculpting skills with ZBrush, learning more about Nanite, and experimenting with layered materials in Unreal Engine 5. The project pushed me to combine narrative design with technical execution in a way I hadn't done before, and that made it both challenging and incredibly rewarding.
References
The Dwarven Vault scene was built based on a concept by Yilin Dongy. In addition to the original concept, I also drew inspiration from a mix of fictional sources and real-world references to bring extra depth and believability to the environment.
First, what I do is break the concept down into individual elements and organize them in PurRef, treating it like a puzzle. I used color-coded sections to separate the different parts of the scene, which helped me identify what I had and what I was missing, whether that was object references, texture details, or functional design elements like how the gears operate on the drawbridge. This process keeps things structured while allowing room for creativity.
In terms of real-life references and how Dwarven strongholds have been portrayed in the film, The Rings of Power had a significant impact on the visual tone of the scene. Its detailed depiction of Khazad-dûm inspired the ceremonial layout of the vault, the elevated placement of the throne, and the grand stone reliefs that frame the space. When it comes to set and prop design, the film's approach felt like the most accurate reference I could find, from the metallic finishes to the intricate craftsmanship in every detail.
Yilin Dong
Reference-Gathering Notes:
- Researched using books and films for deeper visual context and inspiration.
- Studied concept art books from titles like God of War: Ragnarok and Assassin's Creed: Valhalla.
- Looked into architectural references, especially Viking-era and Art Deco design, which influenced the Dwarven style.
- Built a library of physical books and PDF files tied to the project for quick access and consistent reference.
- Found that books often offer visual depth and artistic insight that is harder to find through image searches.
- Recommend all artists develop a personal reference library to support both creative vision and design accuracy.
Composition
Before working on the composition, I started by giving the scene a backstory to help establish direction, tone, and visual storytelling. I then moved into planning by drawing over the concept art, using shaded color blocks to break down the structure. Each area was color-coded by material and function: purple for stone walls, gold for decorative trims, and green for floors and stairs, which helped me plan material distribution early and made the blockout and modeling process more efficient.
For the composition, I focused on leading the eye toward the vault entrance using the chains and stairs as natural guides. Fire bowls at the top served as both visual and lighting focal points. I created depth by layering foreground elements like the bridge and chains, with a distant village in the background to add scale and story. I tested the scene in both day and night lighting to ensure the composition remained clear and balanced across different moods.
Blockout
Creating the Dwarven Vault started with a clear focus on structure, scale, and reference accuracy. Here's how I approached the blockout phase step-by-step:
Step 1: Setting Up the Concept in Maya
I began by importing the concept art into Maya and using it as a reference in the camera viewport. Then, I aligned it with the ground. This helped me match the floor height and camera perspective right from the start. Getting that alignment early made blocking out the space with accurate proportions much easier.
- Concept image used as a reference plane in the camera viewport.
- Camera matched to the concept's perspective.
Step 2: Blocking Out Scene
With the perspective locked in, I started to place basic shapes (cubes, cylinders, etc) to build out the scene. Keeping everything simple allowed me to focus on layout and spacing before getting into fine details.
- Defined layout of key elements, pillars, arches, and vault framing is placed.
- Designed with modularity in mind from the beginning, so you can duplicate the object when you see it again to see if it matches the distance and scale.
Step 3: Iterating and Adjusting Proportions
Throughout the blockout, I continuously refined the scene by checking the scale and difference between the objects to the concept art. Working with simple geometry made it easy to shift and extrude them around to create semi-extruded shapes for a second layer of shapes, ensuring everything aligned well with the concept and felt grounded.
- Regular adjustments to spacing and proportions.
- Line of sight and composition checked for balance.
- Silhouettes refined to enhance readability.
Step 4: Importing to Unreal & Aligning the Landscape
After finalizing the blockout in Maya, I imported it into Unreal Engine and began sculpting the landscape. Matching the terrain to the concept art helped bring the entire scene together and gave me a solid base to move forward with lighting, atmosphere, and asset development.
- Blockout imported into Unreal for environment work.
- Landscape sculpted to reflect the concept's terrain.
- Scene grounded for natural composition and flow.
Architectural Elements
For the modeling and sculpting of the scene, I relied heavily on references to guide the design, especially when it came to how stone surfaces are shaped and worn over time. A major influence was Angkor Wat in Cambodia, which I visited in person. The weathered stone textures and surface damage there helped me imagine how a structure like this would age, especially in a world shaped by conflict. I used that as a reference point for both color and material breakup throughout the vault.
Once I had the main shape of an object, I began sculpting with smaller strokes around the edges to give it a chiseled, hand-carved look. Then, I added larger damage forms to represent wear from possible battles or weather effects, thinking about where impacts might realistically occur, such as lower sections or corners. This gave the architecture a lived-in feeling and added historical depth, similar to how parts of Angkor Wat still show signs of historical conflict.
Time-Saving Techniques:
To speed up the process without sacrificing quality, I used a few key tricks. These allowed me to work efficiently while still adding depth and detail where it mattered most:
- Rock texture maps were used during the sculpting phase to guide surface form and help quickly establish a natural flow to the stone. This gave me a solid base before going in manually for refinement.
- The custom Dwarven pattern I created in Photoshop was reused across multiple assets. This saved time on manual sculpting and helped keep the carvings visually consistent with the overall style of the scene.
- If you're having trouble making a statue, I found it helpful to think of them like building with Lego blocks. Start by blocking out the basic forms of the character in separate pieces, add more shape and volume, and then bring them into ZBrush to sculpt, either as a combined mesh or individually, depending on your workflow.
UV Unwrapping
One of the first challenges I faced was UV unwrapping, especially with high-poly models using Nanite in Unreal Engine. Since it was my first time working with Nanite, I quickly realized I needed a clean and reliable UV workflow to keep texturing efficient and avoid slowdowns further down the line.
To improve this process, I spent about 3 weeks learning and testing different UV workflows in Maya, RizomUV, and ZBrush. This took some time to get used to, and each software offered different strengths through experimentation. By the end of the third week, I had developed a proper workflow that gave me clean results without unnecessary manual work.
UVs Before Sculpting: I began by unwrapping the base model in Maya before bringing it into ZBrush for sculpting. Starting with clean UVs early on made it easier to transfer UV sets back onto the sculpted or decimated version later. A helpful aspect of Maya is that it can transfer UV sets between meshes as long as they share the same name. This was especially useful for models that required multiple UV sets, as it streamlined the process without needing to manually rename or manage them during the transfer.
Post-Sculpt Workflow: After sculpting and decimating the high-poly model in ZBrush, I brought it back into Maya. I used Maya's Transfer Attributes tool to project the original UVs from the base mesh onto the decimated version. This allowed me to keep the sculpted detail while retaining the initial UV layout.
UV Cleanup: From there, I cleaned up the UVs in both Maya and RizomUV. RizomUV was especially helpful for straightening UV shells, reducing distortion, and quickly packing them for optimal texture space.
Software Comparison
During this project, I worked with Maya, RizomUV, and ZBrush to find the most efficient UV workflow for my environment. Each had strengths, but based on how I work, I relied most on Maya and RizomUV.
Maya: Maya was great for initial unwrapping and handling UV transfers. I used it to create base UVs before sculpting and later to transfer those UVs back to the decimated mesh using Transfer Attributes. A bonus was that Maya transfers UVs automatically if the meshes have the same name, which saved time when working with multiple UV sets.
RizomUV: I used RizomUV for refining and cleaning up UVs after the base work in Maya. It gave me more control over shell alignment, spacing, and packing, which is especially helpful when optimizing UVs for texturing. Its auto-packing and layout tools made this phase fast and clean.
ZBrush: ZBrush was essential for sculpting but not ideal for UVs in my pipeline. Personally, I found its UV tools harder to work with and less suited to the modular, detailed assets I was creating. It just didn’t match my preferred workflow, so I focused on Maya and Rizom for UV tasks.
Material Layer Types
For this project, I used a Material Layering workflow rather than relying solely on traditional texture maps. This allowed me to create modular, reusable materials while maintaining high visual resolution on these massive UV sets, especially when working with high-poly assets supported by Nanite.
To give myself flexibility over UV usage, I implemented a UV Switch using a TexCoord node setup. This lets me toggle between two UV sets, ideal for models that require larger or more efficient texture space, such as walls, pillars, or large structural pieces.
Regular Material Layer
This layer is driven by an RGB mask, which allows up to three different textures to be applied within a single material instance. The Red, Green, and Blue channels each represent a different region on the model's surface. This approach is especially efficient for applying combinations like rock, metal, and trim within the same material.
- As shown in the node graph, I used scalar and vector parameters for properties like Albedo Tint, Normal Upscale, and Tiling. These are exposed in the material instance Material Instance graph to allow real-time tweaking.
- I also used a Multiply node with a tiling parameter to control texture scale uniformly across all material inputs.
- Normals were processed using a Parameter for upscaling normals, then connected to a FlattenNormal function to allow better scaling of the texture’s normal overlays later.
Roughness Mask Layer
This layer is a more advanced setup meant for adding procedural surface variation (rust, dust, grime, etc.) I used an additional RGB mask layered over a secondary texture to drive these effects. This enables the selective blending of roughness maps across different regions of the object, controlled entirely through material instance parameters.
- The screenshot from the Mask node graph demonstrates this: parameters like Mask_Roughness, Tiling_Masked_Roughness, and a SwitchUV toggle help adjust how and where these effects appear.
- This adds subtle yet realistic surface breakup, especially effective on worn metals, aged stone, and footsteps in the snow.
Snow Layer
To simulate dynamic snow accumulation, I created a custom Material Function that calculates where snow should appear based on the object's Z-axis orientation using Absolute World Position. This logic allowed me to isolate upward-facing surfaces, which I then connected to a World Aligned Texture so that the snow projection remains consistent regardless of an asset’s local rotation or UVs.
The result is a snow layer that blends naturally using Lerp and normal blending, which helps preserve the shape and surface detail of the base material underneath. This ensures the snow looks like it’s resting on the geometry instead of masking it.
To make the transition edges feel more organic, I implemented a Dithering Material. This uses Dither Temporal AA to softly fade out the edges of snow buildup instead of producing hard lines. The Material Instance includes exposed Parameters for things like dithering feathering, tiling, and roughness control, which gave me flexibility across different mesh types. These systems worked together to create a snow coverage solution that looked believable up close and at a distance while remaining flexible and reusable across the entire scene.
Key techniques used:
- Material Function: Controls snow coverage based on object orientation in world space.
- World Aligned Texture: Ensures consistent snow projection across assets.
- Normal Blending: Maintains surface definition beneath the snow for added realism.
- Dither Temporal AA: Used to soften snow edges, preventing harsh transitions.
- Material Instance Controls: Includes custom scalar parameters like DitheringFeather, Snow Tiling, and Roughness.
Dithering Material Version: Used for placing standalone snow piles throughout the environment.
Material Layer Version: Used for blending snow directly into layered materials on objects.
Floor Pattern & Stone Setup
For stone and floor materials in my environment, I applied the Material Instance with a combination of tiling rock textures and procedural color tints. The metal trims were handled through the same material using the appropriate mask channel, typically the Red or Blue channel, depending on the UV layout.
The floor pattern benefits from the Roughness Mask Layer, where I applied grunge to the recesses and masked wear onto walkable surfaces. This gave the floor a weathered, icy look while also allowing me to easily adjust how distinct or subtle I wanted the effect to appear. This modular system allowed me to reuse the same core materials across multiple assets while still making each one feel unique through per-instance mask variations and parameter tweaks.
Assemble the Final Scene
To assemble the final scene, I started by importing all the finalized assets into Unreal Engine, replacing the original blockout meshes. I then applied material instances to each object, layering different materials over them like a canvas to give each surface depth and variation.
For the exterior, I expanded the world beyond the vault by adding houses and towers in the distance to suggest a larger Dwarven settlement. These background elements helped reinforce the sense of scale and made the scene feel like part of a broader world. I placed them carefully so they wouldn’t distract from the main focal points.
The interior was partly designed from scratch, as I only had a small sketch of the hall but had no concept art for the main room. I drew inspiration from architectural references and fantasy throne rooms, leading to the creation of a central throne platform surrounded by rotating circular bases. Massive Dwarven statues with glowing gemstone eyes line the walls, giving the space a sacred and ancient feel. A focused light highlights the throne to establish it as the centerpiece of the room.
For composition, the main theme I had to use was leading lines based on the architecture, like stairs, trims, and floor patterns, to guide the viewer's eye toward the throne and vault door. I also adjusted camera angles, lights, and field of view to emphasize scale, depth, and symmetry, creating a cinematic and immersive experience.
Scattering Details
When it came to scattering details, I wanted things to build a world with some life, whether it's physical objects or atmosphere. I created snow piles and clumps throughout the environment and applied a Dithering Snow Material to them. This allowed the snow to fade naturally into surfaces, creating a more organic buildup over the scene to give the impression of continuous snowfall layering over time.
Next, I scattered swords, shields, and axes leading toward the vault entrance. So the vault wasn't covered alone in a shade of white emptiness, solidarity with the world. These were meant to suggest a recent battle or conflict that happened an unknown time ago, now buried in snow. I want the people viewing my scene to introduce questions like "What happened here?" and "Why was this place fought over?", encouraging the viewer to engage with the scene on a storytelling level.
To reinforce the idea that the vault is still partially functional or reawakening, I used Blueprints to animate elements like rotating gears and physics-based chains. A detail you see in the gears turning opposite away from each other is to break up the ongoing symmetry of the building. The chain’s movements also added realism and helped break up the stillness of the environment, making it feel more dynamic and immersive.
Finally, to address the negative space in the sky and strengthen the sense of scale, I placed Megascanned mountain assets in the background. These added a clear sense of depth and helped frame the environment, making it feel more expansive and grounded within a larger world.
I also introduced several environmental effects to make the scene feel more alive:
- Falling snow added soft, constant motion throughout the scene.
- Mist drifting through mountain gaps and down into the valley enhanced atmospheric depth and connected the environment beyond the main area.
- A distant fire glow, visible only at night, hints at something happening off-screen, adding subtle tension and story without pulling attention away from the vault itself.
Lighting Setup
Lighting was a key part of developing this scene. With the environment covered in snow and grey stone, I needed to bring in natural color to balance the cold atmosphere with subtle warmth and contrast. I studied a range of mountain environments, from real-world photography to cinematic scenes, focusing on how light behaves on snow, stone, and reflective surfaces. For the daytime setup, I based the lighting around dawn and used a post-processing volume to introduce warmth. At that time of day, mountaintops catch sunlight before the valleys, reinforcing the idea that the vault sits in a high, significant location. The gold trim catches that early light while the surrounding stone casts soft, cold shadows to build depth.
For the night, I aimed for a colder, moodier atmosphere. I used a second post-processing volume to shift the temperature and simulate moonlight reflecting off snow. Since the Directional Light has limits at night, I added Spot Lights using a panning cloud texture to mimic drifting clouds, allowing moonlight to move across the vault's surface. This created a shifting contrast between light and shadow, giving the scene a quiet, mysterious feeling.
The day-to-night transition was handled in two ways. Inside the engine, the change happens in real-time by rotating the Directional Light. For the cinematic version, I used Premiere Pro to blend two shots, one day, one night, using a dissolving crossfade to create a smooth, seamless transition.
The fire lighting was straightforward to set up. I started with Unreal Engine's default fire effect and modified it to behave like it was pushed by the wind, giving it a more dynamic and natural presence in the snowy outdoor environment.
For the gems and fire stones wanted them to feel alive and magical. I used a gem material tutorial as a base and customized it to create glowing, enchanted crystals. These added visual energy to the scene, especially in the interior, helping the environment feel more mysterious and alive.
Key techniques I used:
- Point Lights are placed around each gem to enhance the glow and highlight surrounding surfaces like the statues.
- In hallways, I used a cloudy panner texture for the fire stone lights to add soft motion and break up lighting along darker areas. This helped create a visual transition from the bright exterior to the warmer, ambient interior.
- On the main statue behind the throne, I used Spot Lights with a panning material to simulate subtle movement, adding a watchful, dramatic presence.
Fire & Gems
For the fire, I started with a built-in Unreal Engine fire particle and customized it to behave like it was reacting to wind, making outdoor flames feel dynamic against the snowy environment. I adjusted the particle direction and intensity to better match gust patterns near the vault entrance.
For the gems, I built a custom shader inspired by a magical gem tutorial and then adjusted the animated noise and color panning. The material blends three textures: smooth clouds, standard noise, and a star pattern, combined with parameter controls.
- Power: Boosted emissive intensity for a magical glow.
- Speed: Drove the motion of the panning effect across the orb.
- UV Size and Noise Scale: Controlled the variation and break-up of the glow across the surface.
- InnerGlow/Outline values: Gave the orb a layered, energized core with rim highlights.
The final gem material subtly pulses and shimmers, giving it a magical, living quality. I used this orb shader in key areas like the front of the vault, around statues, and along the hallway to help guide the viewer’s eye and support the fantasy atmosphere.
To enhance the effect, I placed point lights beside each gem, casting a soft, colored glow onto nearby surfaces like stone, metal, and statue faces, especially in the darker exterior and interior spaces. In corridors, I reused the same orb material but adjusted the parameters for a slower, more ambient glow, creating a contrast between the cold exterior and the warmer, more lived-in interior.
For the main statue behind the throne, I added a Spot Lights with a panning mask material to simulate gentle motion across its face, giving the impression that it's watching over the space
Rendering & Cinematic Approach
When I approached rendering, I stopped thinking of it as just exporting a video and started treating it like a cinematic cutscene. I wanted the environment to feel immersive and purposeful, so I chose a 2.39:1 aspect ratio, inspired by films like The Lord of the Rings.
This wider format helped capture more of the environment and gave the visuals a stronger sense of drama and storytelling compared to the standard 16:9 view. It also pushed me to rethink how I framed each shot, focusing more on narrative composition rather than just showcasing assets.
The final render is about one minute long, with slower pacing to give viewers time to absorb the details and atmosphere. Earlier versions were too fast, and the feedback showed that people were missing key moments. Slowing it down emphasized the scale of the vault and the craftsmanship behind the work. After locking in the aspect ratio, I storyboarded various camera angles like wide, close-up, and mid-range that aligned with my use of leading lines to guide the viewer's eye and support the composition.
Rendering Tips:
- Don't treat rendering as a final export; think of it as storytelling through cinematography.
- Experiment with cinematic aspect ratios to improve framing and presentation.
- Use storyboarding to plan your shots in advance, just like in film production.
- Study how films and games use camera movement and framing to build a narrative.
- Focus on creating visual flow, each shot should guide the viewer's attention intentionally.
Post-Production Settings & In-Engine Lighting Control
In post-production, I worked with two separate Post Process Volumes set up in Unreal Engine, one for day and one for night. These were manually controlled using Unreal's Sequencer, where I toggled their visibility depending on the scene's time of day. Each volume was customized with different temperature values and lighting effects to support the specific mood I wanted to create.
- The daytime volume used warmer tones to match the early morning sun.
- The nighttime volume used cooler tones and subtle fog for a colder, more dramatic feel.
As a separate detail, I included a village in the distant background. During the day, it appears calm and normal. At night, the village is shown on fire, implying that something occurred while the vault itself was already disturbed. This final moment was meant to leave viewers wondering what happened and what might be coming next.
Final Touches in Premiere Pro
In Premiere Pro, I added atmospheric sound effects to support the visuals. Wind sounds were layered in to reflect the altitude and snowfall surrounding the mountaintop vault.
Inside the vault, I added gear-grinding audio to suggest that the mechanisms are still active, reinforcing the idea that the structure is alive and has been recently disturbed. This full process, from storyboarding and camera work to in-engine lighting and post-production, helped turn the scene into a short narrative experience rather than just a technical showcase.
Conclusion
This piece took many long days and nights, adding up to 6 months of focused, dedicated work. It challenged me creatively, technically, and personally in ways I hadn’t experienced before.
One of the biggest challenges was working with Nanite for the first time. Learning how it handled geometry and understanding UV workflows early on was critical. If I had waited too long to figure that out, I would have ended up redoing UVs on multiple assets. Another major challenge was developing my sculpting skills. I had very little experience with ZBrush before this, so I had to spend time learning and applying new techniques quickly across the entire environment.
As for what I learned, it is hard to put into a single answer. I gained a better understanding of what my quality of work should be and how to stay focused on a clear direction. I also learned the value of building a project that feels cohesive rather than disconnected. Much of that growth came from the support of my classmates at Think Tank Training Centre and especially my mentor, Aleksandar Danilovac, who helped me understand Nanite and guided me in developing a stronger artistic and technical mindset. He pushed me to think of the scene not as a collection of props but as a space that feels alive and purposeful.
Advice to Beginning Artists
Start with a story. Whether you are building an object, a prop, or an entire world, give it context. A simple asset becomes much more meaningful when there is a narrative behind it. That story can guide your design decisions and help you visualize what the piece could become.
Be open to learning new techniques, new workflows, and feedback from others. Growth comes from curiosity and exploration. Most importantly, find your own vision and allow that to shape your path forward as an artist.
I hope this article gives a closer look into my workflow, creative decisions, and the challenges I overcame throughout this project. It was a long journey, but one that helped me grow both as an artist and a storyteller. Thank you for taking the time to read through it.
I'm especially grateful to everyone who supported me throughout the process. Your guidance and encouragement made a real difference. I'm looking forward to what comes next and to continuing to grow through even more inspiring work.