Breakdown: Creating a Realistic 3D Environment of an Ankara Street
Nore Pollentier spoke about the creation process behind the Ankara Alley project, detailing how she gathered references of a real street in Ankara, how she created the tiling wall and road materials with Substance 3D Designer, and explaining how she achieved the cozy vibe.
Introduction
Hi! I'm Nore, a 19-year-old Environment Artist from Belgium, currently studying at Howest Digital Arts and Entertainment. Creating environments and props for games is what I enjoy most, and I'm always excited to learn something new!
I first became interested in the gaming industry after high school. I wanted to find something that combined both the artistic and technical sides of things, which is how I discovered DAE. I started learning the basics of game graphics and quickly fell in love with it!
Now, as I'm getting closer to the end of my studies, I'm looking for an internship starting in February 2027. To prepare for that, I've worked hard this summer to push my skills beyond what I've learned at school. I hope to join a team where I can learn from others, contribute my skills, and keep improving my work!
Starting an Environment Project
This project was made as part of my mentorship with Alex Beddows at Sierra Division Academy. I chose to take this mentorship to prepare myself better for the industry and its standards, and to give myself the push I needed to create a portfolio piece that brings all my skills together.
When starting a project, the first thing I like to think about is: "What do I want to achieve with this project?" For me, there were a few different goals.
I started by looking at the kind of studios I would love to work at. I realized that I have a pretty broad range of interests and enjoy working on many different types of environments. However, like with my other portfolio pieces, I knew I wanted to create something realistic. This led me to look at studios that create environments based on real-life places. The two that interested me the most were IO Interactive and MachineGames.
From there, I started researching their workflows and pipelines. IO Interactive didn't have much material available online, so I mainly watched talks from artists at MachineGames. Through these, I learned that some of the main priorities for their Environment Artists are material creation, modularity, sculpting, and getting the look and feel of an environment as close as possible to its real-life counterpart.
Finding a Concept
For this project, I chose to work from an existing place rather than creating my own concept, which I've done for my previous environment projects. This allowed me to focus more on pushing the realism of the scene.
I was looking for a concept with interesting materials and a strong composition. I had a lot of different ideas, but eventually settled on a small street in Ankara that I found on Pinterest. The concept fit the goals I had perfectly. The only thing it was missing was a bit of story. I looked for different assets I could add to make the environment feel more lived-in and give the scene a bit more character.
Planning Out the Project
You can't start a project without reference. I started by trying to find the location from the image I had chosen. I reverse-searched the image on Google, which helped me find a lot of additional reference images. Eventually, I managed to find the exact place on Google Maps, which was super handy! I could look around the area from different angles and use it to get the proportions of my environment as accurate as possible.
After collecting reference for the location, I focused on gathering reference for the individual assets, materials, and lighting. Of course, reference is something that keeps growing throughout the project as you realize you need more.
I have to admit: I always clean up my PureRef boards before showing them on breakdown posts, because they can get very messy. During a project, I often take a screenshot of my scene, put it into PureRef next to my reference image, and play a little game of "find the differences." It's always nice to take a step back like this and see how your work compares to the reference. Here's a quick example I found on my board:
That being said, even for a realistic piece, I still choose not to copy everything 1-to-1. There's always room for some artistic choices!
After gathering my references, it was time to analyze them. I planned out the different workflows I would use, as well as the modularity and materials. I made this quick breakdown before starting the blockout:
Blockout Process
There are different ways to tackle the blockout. In my previous projects, I was used to making them directly in Unreal Engine using boxes and working out the composition from there. For this project, I was working from a real-life reference, so the composition was already set. I started by creating a very quick and messy blockout in Blender, focusing mainly on getting the proportions right.
Once I had a rough blockout of the layout, I started replacing it with modular pieces. It's always a good idea to stick to the engine's grid, but in my case, I was recreating a real-life scene, which is naturally irregular and doesn't always fit on a grid. I still tried to make it as easy as possible to assemble in Unreal Engine by placing the pivot points in useful locations and somewhat sticking to the grid where I could.
I also analyzed how I would handle the materials by drawing them out on the blockout meshes. The planning I did at the beginning really helped me focus more on the artistic side during production. That being said, I still changed the way I tackled some things along the way when I found a better solution.
I then assembled all the modular pieces together in Unreal Engine to create the final blockout, once again making sure the proportions and composition were looking good.
Getting the Main Shapes In
Then it was time to turn the blockout meshes into finalized low-poly meshes.
My scene is still looking very rough at this stage because the concept relies heavily on material height information. For most of the meshes, I simply modeled them further in Blender. I made sure my walls had the right topology for vertex painting, with an evenly spaced grid.
For other meshes, like the bricks in the walls, I sculpted them in ZBrush and then decimated them for Unreal Engine.
Adding Detail with Height
After getting the final low-poly meshes, I started creating the normal and AO maps to bring in the height detail. This also meant it was time to set up all the shaders in Unreal for vertex blending, displacement, and RGB masks. I decided to go for a texel density of 1024 px/m, which is commonly used for third-person games.
I use Blender to unwrap my meshes, along with a few plugins like UniV and a texel density checker. I started with my trim texture. Some of the parts were sculpted in ZBrush and baked down, while others got their height information directly in Substance 3D Painter.
Then I started creating the tiling materials in Substance 3D Designer. This took me quite some time since I was pretty much new to the program. But I'm really happy with how much I learned from it, and I feel comfortable making my own materials in it now.
I kept all of my wall materials in one Substance 3D Designer file, making sure I had procedural parameters for different variations of plaster and concrete. I did the same for the road, with parameters for the stones and dirt. Using Substance 3D Designer was really fun and saved me a lot of time by allowing me to make quick iterations!
Lastly, I added height information to the individual assets in my scene by sculpting them in ZBrush and baking them down in Substance 3D Painter.
Not all meshes were sculpted. Some were simply modeled and had their height information generated directly in Substance 3D Painter.
I also created some decals with normal information. I did this by taking real-life images and using an online website to turn them into normal maps, which saved me a lot of time.
Adding Color
Adding color was the most fun part for me. It felt like the scene was really coming together at this point. I textured everything in the same order as I did for the height information, starting with the trims, tiling materials, and lastly, the individual assets. I went through a lot of iterations, constantly exporting the textures and checking them in the engine.
I waited for my base materials to look good without any extra effects before adding a post-process volume. I made sure to pack my textures into ORM (Ambient Occlusion, Roughness, Metalness) or ORD (Ambient Occlusion, Roughness, Displacement) when I needed height information.
I also made sure to reuse my textures as much as possible by adding new base color variations instead of making a completely new material for each wall.
Here's an overview of my wall materials:
I'm using a simple vertex blending material that lets me paint with 4 different materials, controlled by a noise map and height-based blending.
For the white and red wall, I used an RGB mask because it helped me save texture space while also giving me the opportunity to learn more about this technique.
The ground materials:
For the road, I had a vertex painting shader with only 2 materials. After painting, I applied the vertex paint to the mesh and turned on Nanite displacement, which gave my road more detail.
I used sand decals to blend the sand into the gutters.
Now my assets have been finalized!
I used some assets from online to help bring the scene to life, such as the animated cat model by Mark2580 from Sketchfab and the Niagara birds by Andrew Svanberg Hamilton from Fab. All other assets were made by me.
Decals
Decals were extremely important for my project. To achieve a realistic look, you need variation in your materials, and decals are a great way to break up tiling textures. Again, I made sure to reuse as many textures as possible for my decals to keep the scene optimized.
Here's the final scene with and without decals:
Lighting and Polish
The lighting in my scene is relatively simple. I have my main directional light coming from the back, along with an HDRI from Polyhaven that I tweaked myself in Photoshop. I made the shadows a bit softer by increasing the source angle and made them darker by reducing the indirect scattering. I really wanted to achieve that cozy evening feel.
For the post-process volume, I started by tweaking the contrast in the shadows and highlights. I added a bit of blue to the shadows and played around with the midtones to see what worked best. I also added some vignette, bloom, and a small lens flare.
This phase is honestly just a lot of tweaking. Almost every time I make a change, I take a screenshot and compare the new version with the previous one to see which one works better.
Performance was something I kept in mind throughout the whole process. I made sure to limit the number of textures and used trims, simple Unreal Engine shaders, and modular assets to keep the number of draw calls down.
I used Nanite for the road displacement and the small vegetation bushes on the door. For everything else, I made sure the topology was suited to what each asset needed and where it was placed in the scene.
And with that, my project was done!
Conclusion
The project took me 6 weeks to make, as part of a mentorship with Alex Beddows at Sierra Division Academy. I wanted this project to bring together a lot of the skills I had been wanting to improve, especially material creation, modularity, and some basic sculpting. At the same time, I wanted to learn more about the gaming industry, figure out which studios I would love to work at, and get a better idea of what kind of games I would want to work on.
Looking back, I'm proud of what I achieved with this project. Every challenge pushed me to learn and improve. There are still many skills I want to improve, so I'm excited to keep building on what I've learned and continue working hard! One of the biggest things I improved on was planning and research. Before this, I was used to producing fast results because of the tight deadlines at school.
During the summer break, I finally had the time to slow down and properly analyze different companies and their workflows. My mentor Alex also put a big focus on understanding which steps we were going to take and, more importantly, why we were taking them. Because of this, I feel like I now have a much better understanding of how to approach and plan a new project from the start.
Afterword
Thank you for reading this far! I hope my article has helped or inspired you in some way. I want to give a big thank you to Alex Beddows and Sierra Division Academy for the amazing mentorship that helped shape this project. I also want to thank my friends for giving me feedback and supporting me throughout the process!
I'm now nearing the end of my studies at Howest Digital Arts and Entertainment, and I'm currently looking for an internship starting in February 2027. Check out my ArtStation post for more shots.
Feel free to connect or reach out to me on LinkedIn. Finally, I want to thank 80 Level and Emma Collins for giving me the opportunity to write this article!