logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Telling A Story Through An Autumnal Rural Japanese Bus Stop 3D Diorama

Nibir Khan talked to us about the Every Ending is a New Beginning project, sharing how he captured the quiet moments before a young student leaves her rural hometown in Japan to study abroad in a 3D environment, while also providing numerous tutorials.

Introduction

Hi, my name is Nibir Khan, and I'm a 3D Environment Artist for games, recently graduated from Escape Studios. Like many others in this industry, I grew up with a passion for games, but as a kid, I never imagined it could become a career. Once I realized that my love for games could be turned into a profession, I committed fully to pursuing it. 

The Every Ending is a New Beginning Project

I chose to present this project as a diorama, rather than building a large environment, allowing me to focus on fine details. My main goals were to push my skills in material creation, prop detailing, and environmental storytelling. One of the key challenges I set myself was creating a large hero asset, the bus stop. Using a combination of techniques such as RGB masking, detail normals, and vertex painting. My aim was not only to craft a visually compelling space, but also to convey a story the viewer could feel and interpret.

In this breakdown, I'll walk you through my process from gathering references and developing the initial blockout to refining the lighting, rendering the final shots, and reflecting on what I learned along the way.

Concept & References

The initial spark for this project came from a concept by 晨雾漫野. I was immediately drawn to the contrast between the man-made structure and the surrounding nature, in this case, a lonely bus stop on the edge of a small village, wrapped in dense foliage. 

晨雾漫野

My first step was to break down the reference image. I analyzed the materials I would need to create, the props to model, and the pipelines to explore. This stage helps me gather targeted references and plan my workflow so I can progress step by step without unexpected hurdles. I usually do this breakdown in Photoshop or Procreate, painting over the reference to identify key elements. 

My reference gathering process often starts earlier than most. While I'm wrapping up one project, I'm already collecting ideas for the next. In the evenings, as I wind down watching TV (I tend to rewatch the same series and films multiple times a year), I'll sit on the couch with my laptop or tablet and search for images. This habit keeps me inspired and ensures I never begin a project with an empty reference board.

For this environment, I decided to set the scene in Ine, a small fishing village in Japan's Yoza District. Choosing a real-world location grounded the project in reality and guided my search for authentic, location-specific references. It was also during this stage that I began shaping the story behind the scenes.

The narrative I envisioned was of a young girl leaving her hometown to study at a university abroad. As the concept evolved, I introduced a love story to add emotional depth. This shift not only strengthened the storytelling but also inspired the title Every Ending is a New Beginning and defined the mood for the entire environment.

Note: a university acceptance letter, a ticket to a foreign country, and a heartfelt goodbye letter written by her lover before her departure. Even the engraved initials carved into the old wooden bench hint at a time when their love was fresh and full of hope, quiet details that carry the weight of memory and loss.

Blockout

To determine the height of the bus stop, I began by studying real Japanese bus stops from my collected reference images. I then placed a mannequin in the scene to estimate scale. Equally important was the main camera placement. I positioned the camera early in the process and kept it fixed for the duration of production. This not only helped maintain consistent composition but also allowed me to clearly document the step-by-step progress of the scene.

Once the proportions were locked in, I created three test assets to establish the project’s texel density: one small, one medium, and one large model. In this case, the set included a hat, luggage (small), a public telephone (medium), and a vending machine (large). These test pieces ensured consistent texel density across the entire environment before moving into full production. 

Bus Stop

With preproduction complete, I moved on to sculpting the high-poly versions of the wooden planks and concrete bricks for the bus stop. After decimating the meshes, I brought them into Maya to construct the final version of the structure. Once the model was assembled, I checked it in the engine to ensure the shapes were clear and readable.

I reused the same planks and bricks in different areas of the bus stop to save time. By rotating them and changing their orientation, I created the illusion of uniqueness. On top of that, pushing vertices around and subtly bending the meshes helps convey damage, wear, and the passage of time, making the asset feel more natural and believable. 

In Maya, I divided the bus stop into three UV channels: the first for vertex painting, the second for Detail Normals, and the third for the RGB mask. I then took the decimated versions of the planks and bricks into Substance 3D Painter, where I baked the high-poly details onto them. With the bakes complete, I created the RGB mask for the bus stop. 

These pipelines can feel overwhelming at first, which is why I've linked a few resources below. The following videos break down these topics in depth and explain them clearly. 

The next step was to build the master material. Starting with a base graph created by Dylan Abernethy, I expanded it to include the specific features I needed for this project, primarily RGB mask support and detail normals integration.

You can find the video tutorial for his work at the link below. I highly recommend it for beginners, as his shader work is straightforward and designed for newcomers.

Finally, with everything ready, I began texturing in the engine. I first applied the base material to the bus stop, then layered in the detail normals. From there, I used the RGB mask to add subtle dirt buildup and moss growth in crevices, before vertex painting chipped paint and exposed wood to show the passage of time and natural wear. Finally, I added decals to add more dirt and damage. These layered effects brought the bus stop to life, telling its story through surface details and imperfections.

Materials

All of the materials for this project were created entirely in Substance 3D Designer. The wood material was based on a tutorial by the talented Christian Tammerkand, the dirt material followed a tutorial by Nathan Mackenzie, and the concrete material was inspired by Kai Kizzle's workflow. For each material, I added my own adjustments to tailor it to the specific needs of my environment.

Every material was fully parameterized to allow for the creation of variations, which were later applied via vertex painting and decals. For example, the wood material had three versions: bare wood, painted wood, and painted wood with a peeling effect. The dirt material followed a similar approach, with multiple variants to blend seamlessly across the environment.

When following Substance 3D Designer tutorials, avoid recreating them 1:1. Instead, add your own twist to the material to make it unique and, more importantly, to ensure you actually learn and develop your own skills in the process. Here are the three tutorials I followed to create my materials:

Learn to make use of both parameters and presets on your materials. Parameters give you the flexibility to fine-tune values, while presets allow you to quickly test and swap between variations. This workflow not only speeds up iteration but also ensures your materials remain adaptable to the specific needs of your environment. Here are two great tutorials on how to apply these pipelines to your workflow. 

For the concrete, I chose to keep a single base variation but introduced damage in Unreal through decals. This decision was intentional, as I wanted to explore the full workflow of creating decals in Substance 3D Designer, bringing them into Unreal Engine, and implementing them with Parallax Occlusion Mapping (POM) for added depth and realism. 

When working on the dirt, I began by creating the landscape and applying Unreal Sensei's Landscape Master Material to paint in the dirt and rock layers. To enhance depth and detail, I enabled Nanite on the landscape. For additional variation and breakup, I overlaid dirt decals on the edge of the painted landscape sections. The opacity maps for the decals were created in Photoshop, allowing me to precisely control their shape and blending. 

Props

As mentioned earlier, props were a major focus for this environment, so I dedicated significant time and effort to their creation. I didn't follow a single pipeline for all assets, instead, I adapted my approach depending on the specific needs of each prop. 

For the bicycle, public telephone, signs, and vending machine, I used hard-surface modeling techniques without any sculpting.

I began with a rough blockout for each prop to test its scale in the engine. Once satisfied, I moved on to creating the low-poly versions, which served as the foundation for the high-poly models. From there, I refined the details in the high poly versions, ensuring they captured all the surface information I would later bake down in Substance 3D Painter. 

When it comes to baking, I personally avoid the "bake by name" method, as I find it too time-consuming. Instead, I simply separate the mesh into individual pieces. This approach allows for quick iterations and greatly reduces baking errors, which can otherwise become a major time sink. While this method does make it harder for generators to automatically produce intricate surface details, it pushes me to manually paint those details instead, resulting in props that feel more unique and tailored to the scene. 

For the two luggages, I began with a simple blockout in Maya before bringing it into ZBrush to sculpt the high-poly details. During the sculpting process, I made sure to push and pull areas of the mesh to achieve a more natural, organic feel. Once the sculpt was complete, I decimated it for easier handling and then returned to Maya to create the low-poly version. The low poly was built using a combination of techniques: in some areas, I cleaned up the decimated mesh by removing unnecessary vertices, while for smaller details, I reconstructed sections from scratch using Quad Draw to ensure clean topology.

The backpack was fully simulated in Marvelous Designer before being taken into ZBrush for sculpting. I kept the sculpt relatively simple, focusing on achieving a clean, readable silhouette and ensuring the mesh wouldn’t cause issues during the baking process. After decimating the sculpt, I brought the asset into Maya for polishing, cleaning up errors, and refining the geometry.

Tip: When sculpting, avoid overworking small details. A good rule of thumb is to focus only on elements that impact the silhouette and leave microdetails for Substance 3D Painter, where they can be added more efficiently during texturing. In most cases, microdetails sculpted in ZBrush end up being covered or overridden during the texturing process anyway. 

For testing purposes, unlike other props, I chose to keep the mesh triangulated to see if it would cause any issues in the engine. I found that while triangulated meshes generally display correctly in Unreal Engine, they can sometimes produce rendering artifacts in software like Marmoset. This is a valuable takeaway to keep in mind for future workflows.

Here is a great tutorial on how to simulate backpacks in Marvelous:

For the hat, I began by simulating the base shape in Marvelous Designer, along with the bow and flowers. I then brought only the hat into Maya to create a low-poly version before moving into ZBrush for additional sculpting. To achieve the woven pattern, I used NanoMesh in ZBrush, which gave the surface a more authentic and detailed look. Once the sculpt was refined, I exported the assets back into Maya to finalize the low-poly model. The entire mesh was constructed as a single-sided planar surface, with two-sided rendering enabled in the engine to maintain visual quality while lowering the poly count.

Here are two great tutorials on NanoMesh:

For the garbage bags, I began by creating a few refuse assets: a dirtied version of the bottles from the vending machine, a spam can, and some sweet boxes. I placed them inside the bags before running the simulation. Afterward, I brought the simulated mesh into ZBrush for sculpting, then cleaned it up in Maya before baking it in 3D Painter.

The crucial step was importing the high-poly version of the bag along with all the refuse assets for the bake. This allowed me to capture the embedded shapes in the height map, which I then used to drive the albedo of all of the refuse assets through a levels layer, adding believable variation and surface detail. You can find an in-depth breakdown in an article written by Akella Tone.

As mentioned earlier, I created a series of bottles, cans, and sweets boxes that were used not only inside the vending machine and garbage bags, but also scattered around the scene as litter to make the environment feel more believable. To add variation and storytelling, I made both clean and dirty versions of each prop. For authenticity, I visited a Japanese store in my city, purchased several products, and photographed them with my camera. I then edited the photos in Photoshop to remove any lighting information, preparing them as clean, reusable textures or alphas. The modeling stage was kept simple, mostly cylinders and boxes, with minor adjustments, with the majority of the detail added during the texturing process in Substance 3D Painter.

Below you can see a small selection of alphas, cleaned albedo-only textures, as well as a series of photos I took before editing them in Photoshop. All done within PS before exporting and using in Substance 3D Painter. 

The clothes and the wind chime were animated using simple material-based wind systems in Unreal Engine. I chose this system because full cloth simulations would have been overkill for the project, both in terms of performance and complexity. While relatively simple, these setups add a surprising amount of atmosphere and believability by breaking the stillness and suggesting a world that feels alive and dynamic.

How to create a material wind system in Unreal Engine:

The Omamori was first simulated in Marvelous Designer and then refined through sculpting in ZBrush. What truly brought it to life, however, was the custom embroidery generator I created in Substance 3D Designer. This generator allowed me to add intricate embroidered details seamlessly while texturing on Substance 3D Painter. I applied it not only to the Omamori itself but also to the backpack to create the logo, ensuring consistency and an authentic stitched look across both assets.

Lighting

When it came to lighting, my choices were heavily shaped by the narrative I had written for this project. Since I wanted to tell the story of a girl leaving her family and past behind in search of a better future, I aimed for a melancholic sunset setting, warm yet bittersweet.

I began with a directional light to establish the base sunset mood, then introduced an exponential height fog at a very low value to add some atmospheric depth. Once the foundation felt right, I moved on to the Post Process settings to refine the tone. Two adjustments in particular, Slope and Toe under the Film section, played a big role in shaping the emotional atmosphere.

One unique technique I applied in this project was the use of blur sheets placed behind the bus stop to manually control the depth of field. Due to the camera placement in relation to the bus stop, using a narrow depth of field would have blurred key elements in the foreground, which I wanted to keep sharp. Instead, I opted for a wide depth of field to preserve clarity across the scene, while strategically adding blur sheets behind the bus stop. This created a stronger sense of separation between the midground and background, enhancing both readability and visual focus.

1 of 5

Next, I started adding rim lights to subtly highlight the edges of key props, giving them more definition and visual interest. To guide the viewer's eye toward important details hidden in shadow, I placed three targeted fill lights: one on the tsunami wooden sign, one on the bus stop’s map, and one on the tree.

1 of 4

With the scene lit, I returned to the Post Process volume for final adjustments, focusing mainly on the Global and Shadows sections in the Colour Grading tab. This final pass tied the mood together, balancing warmth and contrast to match the emotional weight of the story. 

Lighting is more than just visibility; it's an emotional driver. Deciding early on how your story should feel hopeful, mysterious, or tragic will make every lighting choice more purposeful. Even subtle changes in color temperature, shadow softness, or rim lighting can completely shift how the viewer experiences your scene.

Presentation

Finally, I spent a lot of time creating my ArtStation post. My first instinct was to see how other artists showcased their work and pick and choose the methods that I liked, and I could have applied to my project. I decided to divide it into 3 sections to not overwhelm the viewers: the main post with the UE project and breakdowns, the second one with props and sculpts, and finally one for materials.

Equally important is the choice of thumbnails for your posts. A strong thumbnail can make the difference between someone clicking on your project or scrolling past it. I recommend spending time on ArtStation to study which thumbnails catch your eye and ask yourself why they work. Personally, I often use the Dodge Tool in Photoshop to subtly brighten key areas of the image, creating contrast and drawing attention to the focal point. Even small adjustments like this can make your thumbnail more engaging and clickable.

Conclusion

Overall, this project took me about four months to complete. It was by far one of the most challenging environments I've ever worked on, as I pushed myself further than ever before in terms of both storytelling and attention to detail. This project tested not only my technical skills, but also my ability to convey emotion and narrative through an environment. By setting a higher standard for myself, I was able to grow significantly as an artist and come away with new workflows, insights, and a deeper understanding of how to blend storytelling with visual design.

I faced several challenges while creating this environment, the biggest one being understanding how ray tracing works in Unreal. Ray tracing introduces its own set of hurdles, so I highly recommend researching how to properly set up a ray tracing project before diving in. For instance, enabling ray tracing has a direct impact on how shadows behave and how Nanite objects are rendered, which can cause unexpected results if not accounted for. Additionally, foliage requires a specific setup before being painted into the environment to avoid rendering artifacts. These are all crucial considerations to keep in mind early on to save time and frustration later in the process.

Here are some useful links if you want to use ray tracing in your project:

At the early stages of a project, it can be challenging to stay motivated. Until you reach the lighting and post-processing phase, the environment often looks unfinished or unappealing. It’s important to push through these stages, trust your workflow, and have confidence that the scene will come together in the final stages.

I would like to give a special thanks to my mentor, Nicola Licandro, whose guidance has been instrumental throughout this project. I'd also like to thank Rajesh Parmar and Jeremy Estrellado for their valuable feedback, which helped me refine and push the environment further.

If you have any questions, feel free to reach out to me on LinkedIn. I'm always happy to chat. Thank you for reading, and be sure to check out my ArtStation for more of my work.

Nibir Khan, 3D Environment 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