2025 | WINTER REGISTRATION NOW OPEN!

Make sure to Enroll Today!


All articles

How to Use Impactful Decals in a Modular Environment: SanXia Street

Environment Artist Cliff Chen produced not only an incredible modular scene, but also an extremely informative and in-depth breakdown of his process! For his SanXia Street 1940, the devil is all in the decals. So get ready for step-by-step instruction on how you can make the details of your scene as impactful as possible, including:

  1. Inspiration: SanXia Street 1940
  2. Modular Parts
  3. Trim Sheet Textures
  4. Detail Sculpting in ZBrush
  5. Materials Preparation
  6. Trim Sheet Painting
  7. Hero Prop: Rickshaw
  8. Decal Scene Dressing
  9. Environment Decals
  10. Text Decals
  11. Decals for Story Elements
  12. Planar Reflection
  13. Lighting and Post-Processing
  14. Final Project

Hi everyone, my name is Cliff Chen. I am currently working as a Junior Environment Artist at A44 Games based in Wellington, New Zealand. In high school, I dreamed of being an Environment Artist and immersing myself in the world of art. So in my first year of university, I studied 3D modeling. But I was naive in regard to the industry’s entry standard and struggled to land a job post-graduation. I quickly realized how disadvantageous my portfolio was and used the next 3 years to learn and hone my skills. In that time, I took on some freelance and contract opportunities in architectural visualization and indie game projects, which eventually led me to my current job.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce879b53a3b4bde0791/cliff_chen_student_interview1-1024x444.jpg

Enroll in CGMA’s Unreal Engine Modular Environments course taught by Environment Artist, Art Director, and Studio Head Clinton Crumpler.

1. Inpiration: SanXia Street 1940

I always wanted to create something related to my home country Taiwan. So as I was researching locations for Clinton’s course, I realized that the old streets in SanXia perfectly illustrated the layers of Taiwanese history of the past century.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cce79b53a3b4bde0685/cliff_chen_student_interview7.jpg

The street design was influenced by a mix of Western baroque-style architecture and Japanese/Chinese carving, which was popular in post-Westernized Japan. The traditional Chinese spring couplet and Japanese signs show the unique blending of culture and history setting of Taiwan during Japanese colonization.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ccf79b53a3b4bde068b/cliff_chen_student_interview8-1024x564.png

To give more story elements to the scene, I decided to set the time during the Second World War when most men were called to battle, and stores and businesses were closed down. I wanted to replicate the SanXia Old Street during a time of fear and uncertainty.

Watch 8 Ways to Establish Time and Place in Game Scenes for some great tips from Instructor Clinton Crumpler.

2. Modular Parts

To start planning the modular pieces, I dropped my main reference photos into Photoshop and painted over key blocks with vibrant colors. It was quite a difficult process since each building had a unique design. I tend to search for the most distinguishing features of the building first.

For example, the front came with three sections, one wider section in the middle and two narrower sections on the side. From this information, I know I can break the building front into 2 main parts, a wider centerpiece and a narrower piece for both sides. The windows have the same concept as well.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd079b53a3b4bde0699/cliff_chen_student_interview11.png

The end goal was to break down the building with as few parts as possible, and all parts should have some reusable values. For example, initially, the window piece was broken into three parts (wall, window, and bottom piece), and later I decided to merge them together due to the lack of reusability for the bottom piece and also to match the width of other modular parts, making assembling the building much faster and efficient.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd179b53a3b4bde069f/cliff_chen_student_interview12.png

After the modular planning was done, I modeled the blocks in Blender. The goal for this step was to make sure everything assembled well – check if pieces were missing and cut down unnecessary pieces. In this process, definitely expect a lot of back and forth between planning and modeling.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd179b53a3b4bde06a5/cliff_chen_student_interview13-1024x627.png

3. Trim Sheet Textures

Trim sheet textures were used to optimize the texture space for modular pieces and provide consistency throughout the environment. To start, I used a workflow similar to the planning of the modular pieces to figure out the parts that I would include in my trim sheet.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd279b53a3b4bde06a9/cliff_chen_student_interview14.png
https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd279b53a3b4bde06ad/cliff_chen_student_interview15.png

With the parts decided, I created a reference texture using flat colors to plan out the appropriate ratios and size for all the parts. This map is later used as a base reference for modeling the trim sheet geometry.

I began modeling by creating a plane with a size of 2048x2048cm and splitting it into sections according to the reference texture. I mainly focused on modeling the main form and edges before bringing the model into ZBrush for a more detailed pass. A good tip I learned from the class is to model the high poly slightly outside the 2048×2048 texture range for a better baking result; it also prevents AO from darkening on the edges.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd379b53a3b4bde06bb/cliff_chen_student_interview18.png

For the ornament detail, I used the “Ornament Kitbash” by Jonas Ronnegard to speed up my modeling process.

4. Detail Sculpting in ZBrush

When the basic form was completed, I exported the mesh into ZBrush for a high poly pass. ZBrush required a bit of setup before sculpting. I had to import a 2048x2048cm size plane mesh on a separate sub tool channel, which had to share the same pivot point and be aligned perfectly with the mesh. This is the process:

  • Go to the document tab and set the canvas size to 2048x2048cm.
  • Make the trim layer invisible so only the plane can be seen, snap to the front view and press ‘F’, the canvas should now be filled by the plane.
  • Turn on the visibility of the trim mesh – the canvas is now set with the boundary of the texture size.
  • Now the final step for seamless sculpting is to turn the WrapMode to 1 by going under the brush tab and inside the curve section.
https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd479b53a3b4bde06c1/cliff_chen_student_interview19-1024x603.png

With this setup, I was able to sculpt my mesh with seamless details. Remember to turn on the WrapMode again every time you switch to a new brush.

After sculpting, I decimated the high poly mesh and exported it back to Blender. I then assigned color ID to different parts of the trim so it can later be used as masks inside Substance Painter.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd479b53a3b4bde06c7/cliff_chen_student_interview24.png

5. Materials Preparation

I started preparing materials by browsing on Substance Source. Once I found a suitable material, I would use it as a base and modify it in Substance Designer in order to make it match the reference. This workflow was used for most tile materials in my scene.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd579b53a3b4bde06cd/cliff_chen_student_interview25.png

Read “3 Ways to Create the Best 3D Scene in a Budget Crunch” for ways to optimize your environment.

6. Trim Sheet Painting

Once I had all the materials needed, I began to texture the trim sheet inside Substance Painter. I imported a plane mesh and used the high poly to bake out normal, AO and ID map information.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd679b53a3b4bde06d3/cliff_chen_student_interview30.png

After assigning the base material using the ID map, I spent the rest of the process experimenting with smart masks to create dirt and grunge details. Due to the repetitive use of the trim sheet, I tried to avoid adding large and noticeable tiling details like cracks or water stains.

I made two trim sheets for my entire modular parts, one concrete/brick trim for the main building structure and one wooden trim for the windows and storefronts. This saved me time, plus allowed me to generate different variations to quickly make diverse building designs.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd779b53a3b4bde06e1/cliff_chen_student_interview33-1024x640.png
https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd879b53a3b4bde06e7/cliff_chen_student_interview34-1024x374.png

Trim sheets were not only used on buildings; several props in the scene were also textured with trim sheets.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd879b53a3b4bde06ed/cliff_chen_student_interview35-1024x443.png

7. Hero Prop: Rickshaw

After importing the modular parts into Unreal Engine, the main visual of the street was established. As I was testing the camera composition, I realized the scene lacked a main focal point due to the buildings being identical. I needed something that could deliver a story for the street.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cd979b53a3b4bde06f3/cliff_chen_student_interview36-1024x555.png

I decided to use the rickshaw as the hero prop of the scene. Modeling the top leather/fabric part of the rickshaw was quite a challenge for me. It was my first time simulating cloth in Blender. After modeling the metal frames, I created the base shape of the roof above it, making sure there was enough space between the frame and roof for cloth simulation. When modeling fabric mesh, I prefer to start simulating with a lower poly count and gradually increase the poly detail by adding edge loops and subdivision while adjusting the shape (just make sure there is enough poly count for the shape to form).

To achieve the seam detail on the edge of the roof, I modeled it manually by adding extra poly loops along the edge, selecting the “seam” edges and press Alt+S to move the edge inward.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cda79b53a3b4bde06fd/cliff_chen_student_interview40-1024x436.png

Before exporting the high poly, I assigned vertex colors to details that will be baked onto low poly, such as the screw bolt, nameplate, and cushion. To avoid overlap baking in Painter, I separated the model into mesh groups and exported them into one FBX file.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cda79b53a3b4bde0703/cliff_chen_student_interview42.png
https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cdb79b53a3b4bde0709/cliff_chen_student_interview43.png

Overall, I liked how well the hero prop reflected the “farewell” theme.

8. Decal Scene Dressing

Decals were used heavily to make the modular scene more believable. To set up my decal material, I followed the tutorial by GameTextures.com which uses parallax occlusion from the heightmap.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cdc79b53a3b4bde0713/cliff_chen_student_interview45-1024x635.png
https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cdc79b53a3b4bde0719/cliff_chen_student_interview46.png

To create material instances for later use, I converted the texture slots and height values to parameters. I also added custom functions that allow me to adjust base color and roughness values in the material instance.

You can scroll through these images to see the process.

9. Environment Decals

Environment decals are mostly based on natural phenomena such as the cracks, water stains, and puddles on the floor. I downloaded most of the crack and water stain decals from the Megascans library and used them heavily on concrete surfaces and gaps in between trims.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cde79b53a3b4bde072b/cliff_chen_student_interview52.png

For the water puddles, I downloaded a free puddle decal material made by Axton which comes with the function to adjust edge fall off strength and puddle color. The decal also uses custom alpha maps to generate different puddle shapes. By using this feature I was able to create the wet tire tracks with my own alpha map.

Check out CGMA’s Organic World Building in UE4 course taught by Senior Environment Artist Anthony Vaccaro.

There were some environment decals for man-made decorations like the ornament details and sewer manhole. I had difficulty thinking of a way to create the ornament details on the top of the building and decided to experiment with the decal workflow. I used the same ornament kit from the trim sheet to create the high poly mesh.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cdf79b53a3b4bde0739/cliff_chen_student_interview69-1024x908.png

10. Text Decals

Text decals were made mostly for the shop signs and wall carvings. They serve the function of communicating hints of the location of the scene, the local language, and the purpose for each building (hospital, tea shop, etc.). It gave each individual building a unique role.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce079b53a3b4bde073f/cliff_chen_student_interview71-1024x555.png

I found a Chinese website that was able to turn Chinese characters into traditional calligraphic fonts and export them into PNG with a transparent background. To decrease the number of material instances I had to make for each sign, I combined all the characters into an atlas map in Photoshop. The opacity map was created by making the text white over a black background.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce079b53a3b4bde0745/cliff_chen_student_interview73.png

I then used Substance Designer to extract normal and height detail from the opacity map.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce179b53a3b4bde074b/cliff_chen_student_interview74.png

Lastly, the textures were brought into Painter for a material pass.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce179b53a3b4bde0751/cliff_chen_student_interview75-1024x609.png

Due to all the signs sharing one UV set, I had to create multiple plane meshes with UV assigned to each sign. This workflow increased the number of mesh assets I had for the scene but decreased the total texture size of the decals.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce279b53a3b4bde0757/cliff_chen_student_interview76.png

11. Decals for Story Elements

This group of decals works as visual hints used to illustrate the war period that the story is set in, and also show the blend of Japanese and Taiwanese cultures. I wanted viewers to sense the atmosphere and tension of the time even without understanding the characters and signs.

Throughout the street, I placed war propaganda posters showing brave soldiers and promoting unity between Japan and China. But among the war posters, there are also commercial posters advertising products reflecting the street as a shopping district.

Around the door, I placed spring couplets showing the Chinese roots of Taiwanese culture.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce379b53a3b4bde0763/cliff_chen_student_interview79.png

The textures for these decals were simply made with diffuse and opacity maps. Roughness and metallic values were set inside the material instance.

12. Planar Reflection

I used the planar reflections for a realistic representation of reflection on puddles and windows in my scene. This produced the cleanest and most accurate result of reflection without the distortion from the regular baking method. However, it does make the scene heavier to run.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce479b53a3b4bde0769/cliff_chen_student_interview80.png

To enable planar reflection, go to Project Settings, under Rendering > Lighting, enable the setting ‘Support global clip plane for Planar Reflection’. After restarting the scene, the planar reflection blueprint should be available under the Visual Effects tab.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce479b53a3b4bde076f/cliff_chen_student_interview81.png

13. Lighting and Post-Processing

When planning the mood board for my scene, I was heavily inspired by the atmosphere of the game The Order: 1886 with its dim grayish sky and dusty-looking color palette.

My lighting setup was fairly simple, with the default Unreal skysphere as the background and a directional light as the main source of light. I adjusted the light direction to make it shine from the right end of the street, the lighting angle helps guide the viewer to the main focal point. I also changed the light to a slightly warmer color to simulate a sunset.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce579b53a3b4bde0775/cliff_chen_student_interview83-1024x572.png

Throughout my lighting process, I spent a lot of time trying to balance out the shadow in the hallway. If I increase the skylight to make the hallway more visible, the whole scene would look washed out, but by keeping the shadow contrast, I would lose the details. By placing ceiling lights throughout the hallway, I was able to properly light up both areas. Each ceiling light comes with 3 light components: one spotlight as the main light source, one point light to fake the GI bounce, and one point light to light up the lamp.

Multiple point lights were placed to enhance the overall presentation of the scene. For example, I placed a point light right near the rickshaw, using a slightly colder color to make the object stand out from the mostly warm scene. Some point lights were placed near the camera to present better details at close range.

Before the post-processing, I tried to make the lighting as close to the final look as possible, so the color and shadow of the scene would look more natural. I made the scene slightly desaturated with a yellow tint to deliver a vintage vibe.

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce779b53a3b4bde078b/cliff_chen_student_interview88-1024x981.png

Instead of going for the colder tone like in The Order: 1886, I chose a warmer tint to represent the time of day and the humid temperature of Taiwan. I also adjusted the exposure and shadow contrast to brighten the overall visual.

14. Final Project

https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce879b53a3b4bde0791/cliff_chen_student_interview1-1024x444.jpg
https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce879b53a3b4bde0797/cliff_chen_student_interview2-1024x444.jpg
https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce979b53a3b4bde079d/cliff_chen_student_interview3-1024x444.jpg
https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6ce979b53a3b4bde07a3/cliff_chen_student_interview4-1024x444.jpg
https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cea79b53a3b4bde07a9/cliff_chen_student_interview5-1024x444.jpg
https://cgma-landing-sites-production.s3.us-west-1.amazonaws.com/cgma-landing-sites-production/sites/6374f8659e43a6053287eeb0/assets/643e6cea79b53a3b4bde07af/cliff_chen_student_interview6-1024x444.jpg

Final Thoughts

  • After my freelance work with Upsurge Studio was finished, I was on the hunt for jobs again. With so much free time, I thought it would be great to take a mentorship course to boost my skills while searching for a job. I have heard great things about CGMA and with its flexible class structure, it really made the learning convenient for me. So I decided to give it a shot.
  • I chose the Unreal Engine Modular Environments course because modularity is a crucial component in environment art that I was unfamiliar with at the time. My 3D experience has been mostly self-taught, therefore some of my workflows lacked the industry level of efficiency. I was hoping that through this course I would be able to push the boundaries of my skills and gain knowledge of professional practice from industry veterans like Environment Artist, Art Director, and Studio Head Clinton Crumpler.
  • What I found most crucial when presenting my modular scene was to break down the repetitive nature of the modular kit. When viewers can immerse themselves in the environment without immediately noticing that the parts are duplicated, I consider the modular scene successful. I used many methods like decals, hero prop, lighting and subtle visuals (e.g. planes in the sky) to fill the scene with information for the viewer to absorb.
  • Due to this being my first modular environment, I was worried that I wouldn’t be able to complete such a complicated scene in ten weeks. In the end, I was quite satisfied with what I had achieved. Taking the course with Clinton has helped me learn better ways to plan out the steps, and I gained new techniques such as using trim sheets and color ID to speed up the workflow.
[printfriendly]

LEARN MORE

CGMA provides comprehensive instruction for Art, Games, and VFX industries in a variety of courses for a range of students, from 2D and 3D artists looking to supplement their college studies to industry professionals looking to stay up to date on emerging trends and techniques in the field.

RELATED LINKS

Enroll in CGMA’s Unreal Engine Modular Environments course taught by Environment Artist, Art Director, and Studio Head Clinton Crumpler.

Watch 8 Ways to Establish Time and Place in Game Scenes for some great tips from Instructor Clinton Crumpler.

Read “3 Ways to Create the Best 3D Scene in a Budget Crunch” for ways to optimize your environment.

Check out CGMA’s Organic World Building in UE4 course taught by Senior Environment Artist Anthony Vaccaro.