80's Highschool Lockers: Adding Worn-Out Look in Substance Painter

Christopher Ward discussed the production process of his new project, 80's Highschool Lockers, discussed his modeling workflow In Blender, baking process in Marmoset, and shared how he added imperfections using Substance Painter. 


Hi there, I’m Christopher Ward. Previously, I wrote an article on my Sci-Fi Work Office Scene in UE4, you can read it here. Since then, I've graduated from the University of the West of England and am currently building up my portfolio ready to break into the industry!

80's Highschool Lockers: Idea

Previous to this project I started a few smaller 80’s-nostalgia-themed props. While I learnt a lot from these, I really wanted to aim for a small diorama with more components as opposed to just singular props, similar to the nostalgic PlayStation 1 scene I had done a month or so ago.

Along with this, I often spend a great deal of time checking out Dekogon’s work, their High-School Classroom Scene in particular struck a nostalgic cord; in addition to the Breakfast Club’s Locker scene, this sparked my first interest with lockers and they can often be used to define someone’s personality.

With this in mind, I began searching around Pinterest and eBay for references. These often focused on a bunch of lockers from a variety of angles as well as close-up shots which had a lot of lighting information which helped greatly when texturing.

In addition, I’ll often find a few shots for the sort of environment I want the prop to sit in and the atmosphere associated with that. So in this case I had a bunch of School Hallway shots, but the lighting and colour scheme in Dekogon’s High School Classroom in particular proved most useful and inspirational.


The modeling was done using Blender and baking – in Marmoset. Given lockers themselves are fairly simple in terms of shape, I aimed for the final model to be reasonably optimised with the majority of the detail baked in.

With this, I began with a simple blockout in Blender, which consisted of the locker shell and one door just to test basic scale and detail locations using an imported background image as reference. In addition, I often imported the blockout into Marmoset and Painter to test some basic colours, materials, and camera angles.

Using the above blockout I had the basic scale and locations of larger details in place, so it was just a case of adding in details, cleaning everything up, and reducing triangles wherever possible.

I initially went into both the low and high poly setups with a Mirror and Bevel modifier to save time and help further define the shape.

The small grates on the front of the locker, for example, were done through the use of a basic plane with a Solidify modifier on top with even thickness enabled. The holes on the door that these grates would cover was done using the above shape with a Boolean modifier.

The books were done again through a plane folded over with a Solidify and Bevel modifier on top for the cover and spine. The pages were done by simply filling in the inside of the fold.

Lastly, the small screws were added through Blender's Bolt addon.

With the models done I imported both the low and high poly into Marmoset and baked with a few tweaks to avoid overlapping, the results were then imported into Substance Painter for texturing.


Once inside Painter, I created a bunch of folders with a simple mask for each layer, for example, one was made for the interior and painted exterior. Usually, I begin by using a few basic smart materials, with a few settings adjusted, and then export these as soon as possible into Marmoset so that I can experiment with angles and lighting.

After a few tests, the initial colours and base roughness were sorted. This allowed me to add the main permanent base materials, based on the previous Smart Materials values.

The next addition will be a few medium details. As mentioned previously, I first try to grab a bunch of close-up shots of the material I wish to replicate. The shot below proved super valuable in particular as its reflection gave me valuable insight into the roughness of the surface and the height values.

With this, I added a few layers each of which used a few grunge and scratch masks for their respective height and roughness values. Throughout the entire process, I’ll keep exporting the results to Marmoset and since it automatically updates any changes, iterations become super easy and painless. Adding a Levels filter on top of the previously mentioned layers allowed for the easy adjustments and tweaks of each layer where appropriate.


I knew that given the large surface area, imperfections and decals would prove to be invaluable as they'd add much-needed variety to the surface. With this, I looked at a selection of real-world references as well as the works of Hannah Watts and Jonjo Hemmens.

Initially, when it came to the wear and tear of the lockers I had tried a few procedural methods, however, these results weren’t all too good.

To remedy this, I added the majority of the wear and tear manually through the use of a masked base metallic material, with the addition of an alpha brush mask with the projection mode set to Camera. I also ensured the height values of the base metal were slightly less than those of the paint material on top.

The larger, smoother dents as seen on the side of the lockers were done through a similar method described above but I used a smoother brush with the base material’s height set lower still. The result was smoothed out using the Blur tool and Warp filter.

Lastly, I added a fill material with its height slightly lowered and masked this with a Perlin noise to add some surface height variation.

Stickers and Decals

I knew that stickers and decals were also going to be important and in addition to that, I wanted to build upon my previous experience with the CRT Television project.

With this in mind, I began searching for both the real-world and a few custom retro stickers and posters to gather into an atlas in Photoshop.

Once a few stickers were gathered, I needed to create their associated roughness, height, and normal maps, the latter of which was done through adding a white colour overlay, screening an appropriate crease texture over it, and lastly adding a small Bevel filter.

The roughness, on the other hand, was slightly simpler – again, I quickly made a white mask of the atlas and screened a greyscale grunge and fingerprint texture on top. With the textures done, these were then exported as simple PNGs with transparent backgrounds and imported into Painter.

When it came to using decals, I used the Stencil tool and added each of the imported textures to their appropriate maps with the projection method set to Camera, then added the decals where appropriate. Obviously, the decals themselves were super simple so I added a few roughness fill layers with a couple of procedural grunge and fingerprint maps on top to add some variation.

In addition to this, a variety of filters were used to add some much-needed tweaks. A simple inner glow set to black with its opacity set down added some dark edges around each sticker and poster. In addition, Drop Shadow and Warp filters were also added with their settings again turned down to an appropriate level to add some depth and edge variation. Lastly, on top of each, I again added a few Levels filters for each map to tweak their values where necessary as well an HSL on top to reduce their saturation.

Now with the decals themselves sorted, I wanted to add some wear and tear to them. This was done through the addition of a white mask and a paint layer with its blend mode set to subtract. I again used a simple grunge brush and added wear and tear manually where needed for each sticker.

To add some more depth, I wanted to try and give the idea that when one of the stickers was picked away, at some point it left behind some residue.

I duplicated the decal layer and moved it underneath the previous one, removed the white mask, added a Slope Blur on top, and ramped it up slightly.  Given the majority of this layer would only be seen through holes and scratches in the above layer, this gave the effect I was after, especially when its opacity was turned down ever so slightly.


The books themselves were fairly simple, I had five or so variations of hardback books made and UVed. I then set up a few folders for each book in Painter and masked them. I gathered a few old school textbook covers making sure they all had the cover, back, and spine, made a fill layer with these covers on the base colour, and moved to the appropriate area on the UV.

The pages were done through a fill layer, with a creamy base colour and the addition of a straight noise procedural texture on the height map. Both Warp and Levels filters were placed on top to add some variation and tweak the height slightly.

With the base layers done, I aged the books through the addition of a few fill layers. Firstly, some height variation was added through the crease procedural texture with another Levels filter on top to tweak where needed. Then, I went in with the crease alpha map and manually painted in a few creases on the corners and spine to vary this up some more. Lastly, on top of this, I added some brown aging through a procedural dirt texture with an addition of a gradient modifier multiplied over a blurred UV generator to keep the dirt on the edges of the books.


When I initially started this project, I intended to create a small diorama, but because I'm focusing on building up my portfolio, I'm going to keep the locker as a smaller prop for now. Hopefully, I will look into some more real-time environments and implement what I’ve learnt!

Christopher Ward, Environment Artist

Interview conducted by Arti Sergeev

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