Sheila Alessandrini showed us the workflow behind the Cinque Terre project, explaining how she created a modular Italian-inspired town using Substance 3D, ZBrush, Blender, and Unreal Engine 5.
Introduction
Hi! My name is Sheila Alessandrini, and I'm a freelance 3D Environment Artist from Italy. I originally studied traditional art in high school and later graduated in Graphic Design from the Academy of Fine Arts. I worked in the design field for a few years, but over time, my passion for video games led me to explore 3D art.
I started learning 3D on my own and gradually built a new career, focusing mainly on creating stylized environments and props. Since becoming a freelancer, I've had the chance to collaborate on several projects, always aiming to bring charm and storytelling into my scenes.
Getting Started
I actually started this project when I was just beginning to learn 3D Environment Art. At the time, I had just started following Thiago Klafke's Environment Art Mastery course, and this was my first real project in engine.
Looking back, choosing to recreate an entire map as my very first environment was definitely ambitious, and I had to take some breaks while I focused on learning more about environment art by working on smaller scenes where I could explore specific techniques and workflows without feeling overwhelmed.
Some other personal projects finished meanwhile:
At the start of 2025, I decided to return to this project with a fresh perspective and all the new skills I had developed over time, determined to bring it to completion and finally publish it, which I did a couple of months later.
The project is inspired by the colorful coastal towns in Liguria, Italy, specifically the area called Cinque Terre. I reimagined one of these towns in a stylized way. My main style inspirations were Overwatch and the Pixar movie Luca, which is also set in the same region. I wanted to capture that atmosphere with warm lighting, strong silhouettes, and layered details. I wasn't aiming for a 1:1 replica, but rather to convey the spirit of the place.
Since I don't live far from the real Cinque Terre, I took the chance to visit and gather lots of reference material, which proved really useful during production. To store and keep my references organized, I like to use Miro, as I can drag and drop images from both my PC and the internet. I've subdivided the references into categories like streets, roofs, vegetation, etc. I also used a Kanban board to create a list of assets and textures and to keep track of what I need to make and what I’ve already completed.
Planning
To start, I made a rough top-down sketch of the map with a pen on paper to help define the scope and plan the placement of streets and buildings. The initial sketch was quite close to what I ended up keeping, though I later simplified the layout by reducing the number of streets to make it less chaotic and slightly smaller. I then refined the sketch in Photoshop with more defined shapes, also determining the different points of interest based on the references.
Final map layout:
I then blocked out the entire level directly in Unreal Engine, using the tools provided in Thiago Klafke's course. These are basic shapes like cubes and cylinders with a special grid material applied. The material includes measurement markings and tiles uniformly as the mesh is scaled, making it easy to keep track of proportions.
Early blockout:
Improvement Opportunities
Once you've established the visual style you're going for, in my case, stylized but not overly exaggerated, it's important to pay close attention to proportions. They should feel consistent and believable within your chosen style.
At the very beginning of the project, I struggled with the proportions and readability of the buildings. I added too many windows without allowing for areas of visual rest, and the overall scale of the windows was too small for the stylized look I was aiming for. As a result, the environment felt overly busy, even during the blockout phase, and didn't clearly reflect the stylized direction I had in mind.
Later on, when I returned to the project, I also adjusted the size of the streets. They were too wide at first, which made the space feel empty and less cozy. That experience taught me that referencing real-life locations is useful, but it's equally important to think about other elements like composition, readability, and gameplay (especially if you're building for an actual game or playable map).
Real streets can be wide and somewhat plain, which can be hard to make visually interesting. Narrowing the streets helped support the cozy atmosphere I was aiming for and made the composition easier to manage.
Another aspect to consider is the verticality and layout of your environment. Since my scene is inspired by a town built on multiple levels, there were natural opportunities to introduce stairs and height variation. But sometimes that's not enough, and you might need to create custom areas or moments to keep the scene visually engaging and avoid a flat, monotonous layout.
Last but not least, it's always a good idea to plan your beauty shot camera angles early in the process. Establishing them at the beginning helps guide your composition and ensures that key points of interest are placed where they'll be most effective. Try to stick to these planned shots throughout development, as changing them too often can lead to inconsistencies in the overall layout.
Modeling
After finishing the blockout of the entire map with these basic shapes, I exported it into Blender to create some refined meshes, especially for the buildings.
I knew I wanted to use as few different buildings as possible, but design them in a way that they could be reused without being too obvious. In the end, I created around five buildings that I reused across the full map, just by rotating them, switching materials, or lowering them by a floor or two to make them shorter. Other ways to make them look different included adding balconies or different doors, which were separate modular pieces.
I also made a couple of stair variations and some concrete columns that I extensively reused around the map. They are all quite simple shapes, as the details were added with trims.
Example or reuse of the modular buildings: the same color is the same building:
Modular buildings:
Props
When working on a large environment, it's essential to plan ahead which props will be unique and which ones can be reused throughout the scene. Reusable assets are a great way to save time and maintain consistency, especially for filling out background areas or secondary spaces. To avoid the environment feeling repetitive, these assets should be designed with some neutrality or modularity in mind. Keeping them slightly generic allows them to fit into different contexts without drawing too much attention to their reuse. You can also create variety by scaling them differently, rotating them, or tweaking the color of their textures. Small changes like these can go a long way in making reused assets feel fresh and intentional. Striking a balance between smart reuse and visual variety is key to maintaining both efficiency and believability in the final environment.
Sculpting
The only asset in the scene that I sculpted is the rock I used near the beach.
I kept it fairly simple, without distinctive details, so it could be scaled, rotated, and reused multiple times. To create it, I started with a cube in ZBrush, shaped it using the Move brush, and cut away flat portions with the Knife brush. Then, I added details using the Orb brushes.
Additional details were added using an RGB mask and a detail normal in the second UV channel. I also introduced slight color variations per instance in Unreal, as well as the option to apply a different color on top of the mesh, regardless of its rotation.
I used the same rock to create both the large mountains in the distance and the smaller ones scattered along the beach, simply by using a decimated version of it.
Materials
I focused primarily on using tileable textures and trim sheets, which I created in Substance 3D Designer, to streamline the workflow and enable material changes on the same mesh without the need to modify the UVs.
For trim sheets, I followed the best practice of keeping a consistent layout across all of them whenever possible, as this makes it easier to swap different materials on the same mesh. This approach also allowed me to reuse the same UV layout across multiple assets, ensuring consistent texel density and reducing the time spent on UV unwrapping. By carefully planning the trim sheet design, I was able to include details such as edge highlights, panel lines, and decorative elements that could be applied to various models without the need for additional geometry. This not only optimized performance by reducing texture memory usage but also kept the visual style cohesive across the environment.
Texturing
I used Substance 3D Painter to texture the smaller props and to create RGB masks, which I used extensively on the buildings and floors to add extra details through a second UV channel.
For example, I used the ambient occlusion of the door frame and outer window sill of the buildings to enhance the impression of a deeper shadow. With the other channels, I added grunge and dirt coming from the top and from the bottom of the buildings. This setup allowed me to control the color and intensity of the mask for more variation.
To add more variation to the surfaces, I also used vertex painting. For the buildings, I created a brick texture and blended it with a concrete base. I kept the concrete a light gray so I could easily apply color directly in Unreal Engine. For the floors, I also used Parallax Occlusion Mapping (POM) to fake additional depth and detail in the tiles.
Vegetation
I kept the vegetation in the blockout stage for a long time during development, but once I added it to the scene, it completely transformed the look and made everything feel more alive.
I created two trees, a set of ivy, and some variations of small plants and flowers. For the tree bark, I made a tileable texture in Substance 3D Designer. For the leaves, plants, and flowers, I created the high poly in Blender, then baked and textured them in Substance 3D Designer. To be able to separate leaves from the branches, or the different flowers, I assigned different colors to the high poly meshes inside Blender, then, by baking the ID Map inside SD, I was able to split them by colors.
I assembled the plants in Blender, and in Unreal, I created a shader to make them move as if blown by the wind, allowing me to change the intensity and direction.
Interiors
From the beginning, I planned to include at least one interior to make the environment feel more alive, and also for a personal challenge. Since the scene features several different shops, I chose to create the interior of the most iconic one: the focaccia bakery, which is placed in the main plaza.
The process of creating the interior is quite straightforward. First, I removed the window and door geometry from the building's front to open up the space. Then, I duplicated the wall geometry, scaled it down slightly to avoid overlapping geometry and to not have light bleeding from the outside, and flipped it so it faced inward. Finally, I added a plane for the floor and the ceiling.
Using the usual reference, I created some custom props for the shop, like the pastries and little jam jars, but also tried to repurpose some I already had, like the pots with flowers, the door, and some trims, or the white box that I originally created for the veggie shop.
For this shop, I also created a second post-process volume, as the lighting from the outside was too intense and unnatural. I lowered the interior lighting, and as the player or the camera enters it, it starts to brighten, like it would in real life when you come from a brighter place.
Sky
For the sky, I experimented with several premade skyboxes and even tried using volumetric clouds, but I ultimately decided to hand-paint my own sky texture to have full control over the final look. This approach allowed me to tailor the mood and composition to better fit the environment.
I created a new file in Photoshop with the dimensions matching my skybox texture, filled the background with a base blue tone, and painted the clouds on a separate layer. To ensure the texture would tile seamlessly, I used the Pattern Preview mode, which lets you draw while seeing how the edges wrap. Super helpful for creating a clean loop.
After some back and forth between Photoshop and Unreal, I was able to fine-tune the position of the clouds exactly where I wanted them, which really helped balance the overall composition of the scene.
Lighting
For this project, I aimed for a stylized yet believable lighting setup that could enhance the shapes and materials without relying on full realism. I started with a single Directional Light to define the main lighting and cast shadows across the scene. This acts as the sun and sets the overall mood and time of day.
However, stylized environments often benefit from a bit of artistic cheating. To emphasize specific areas and add depth, I placed additional fake lights throughout the environment. These are usually subtle spotlights or point lights with low intensity, used selectively to create highlights and guide the viewer's eye. For example, I added warm lights near windows, props, or corners I wanted to draw attention to, and sometimes cool tones in shaded areas to create color contrast. These fake lights don't necessarily follow realistic behavior but help enhance the composition and readability of the scene. This method is especially useful in stylized environments, where lighting can be used as a storytelling tool or to emphasize material definition and silhouettes.
By balancing the directional light with these carefully placed accents, I was able to create a vibrant and inviting atmosphere while keeping the stylization consistent throughout the scene.
With lighting comes shadows, and in this case, I also made use of fake shadows to enhance the overall mood and composition. To create more interesting contrast or give the impression that the environment extends beyond the visible area, I placed hidden geometry just outside the camera view. These meshes were used to cast shadows onto the scene, for example, to simulate the shadow of a building or a tree that isn’t actually visible in the environment. This geometry is intentionally hidden because showing it would alter the landscape or clutter the layout.
By controlling where shadows fall, I could guide the eye, create more dynamic lighting, and suggest a larger world outside the player's immediate surroundings.
Final Details
As a final step, I did a detail pass by adding decals. They play a crucial role in giving the environment more depth and a worn, lived-in feel. Decals are also great for blending surfaces, like connecting a floor to the curb, and for adding storytelling elements.
I created most of the decals in Photoshop and set them up as masks so I could control their color directly in the engine. Beyond adding discoloration and grime, decals are also useful for adjusting roughness, for example, to create puddles. I used them near the fountain and beneath vases to add a sense of wetness.
Before and after decals:
I also created some decals in Substance 3D Designer, like the paper that I placed in certain corners or near the trash bins, and fallen leaves near the plants. These small touches can make a huge difference to the final result.
A similar technique I used is POM decals, which simulate the depth of the texture. I applied these on the buildings' facades in areas with concrete to break up the repetition and add variety. In some cases, I used them instead of vertex paint to further diversify the surfaces.
Iteration & Feedback
Throughout the project, I made a point of seeking feedback regularly, sharing progress updates on various Discord servers and art communities. This allowed me to gather diverse perspectives, spot issues I might have overlooked, and refine my work based on constructive criticism. I also like to keep track of all the feedback I receive by organizing it on the Miro board, marking each point with a checkmark once applied.
Feedback is invaluable for pushing a project's quality forward, but I also believe it’s important to filter suggestions, understanding which changes align with the project’s vision and which might lead it off-track. Equally crucial is recognizing when to stop iterating, ensuring the piece is finished to a high standard without getting caught in endless revisions.
Final Presentation
To fully showcase the environment and highlight its playable qualities, I decided to create a cinematic trailer complete with sound and music. I added ambient audio using free sounds from freesound.org, such as birdsong and distant church bells, which I placed strategically throughout the level. These are set up to be triggered as the player walks through specific areas, helping to create a more immersive experience.
For the trailer itself, I collaborated with a composer, Samuel Oddamo, who created original music based on a brief I provided to capture the right mood and tone for the environment. I used Unreal Engine's Sequencer to record various shots and camera movements, showcasing different areas of the scene. Then, I edited the footage in DaVinci Resolve, syncing the cuts to the rhythm of the music to craft a cohesive and atmospheric final video.
Conclusion
This environment has been with me since the beginning of my journey as a 3D Artist, and it evolved alongside me over time, while my skills improved and I proved to myself that I could create a playable map starting from just an idea.
This project also taught me the importance of planning and setting a realistic scope. Even though I was able to finish it, my advice to anyone starting out in environment art is to begin with smaller projects and use each one as an opportunity to learn something new, instead of trying to learn everything through one big, long project. But if you really want to take on a similar challenge, don’t be afraid to take pauses along the way and focus on smaller scenes and specific skills.
I hope you found this article insightful and that it gave you a clearer look into my workflow. If you'd like to connect, ask questions, or share your own thoughts, feel free to reach out on ArtStation or LinkedIn!