Hi everyone! My name is Jason Pickford, and I’m the owner and director of Thunderstorm FX®, a 3D visualization and animation boutique based in Macclesfield, near Manchester, United Kingdom. That’s basically just me working under my own brand right now though. I specialize in the production of 3D content primarily for heavy machinery, engineering, and manufacturing industries and have been working in the 3D industry for more than a decade.

I’ve now been using Substance Painter increasingly regularly for several years, to the point where I now use it every day. It’s my favourite tool and fits well into my pipeline which also includes Blender and Unreal Engine. The functionality and tools it provides are priceless and have greatly enhanced my texturing workflow and helped me gain the attention of many new clients. In my humble opinion, it’s the ultimate texturing tool of choice for CG artists and gets significantly better with each new release.

When it comes to my work, I like to think that I’m quite regimented and regularly make time for concept projects that allow me to brush up on existing skills and learn new ones at the same time. This prevents me from becoming complacent and ensures that I’m always up to date. The fact that I’m able to do this when I want to definitely has to be one of the best things about owning your own business. You just have so much more control over your own schedule and the projects that you choose to work on. You also don’t have to worry about being creatively constrained because of billable hours or pre-existing pipelines that prevent you from using the tools and techniques that you want to. This makes it possible for me to experiment with new technologies, software and creative ideas on a regular basis. That’s how both these large-scale UDIM projects came about and I take the view that everything I learned along the way could potentially be of benefit to my business in the future, so it’s time well spent.

Many of the businesses I work with produce heavy machinery, vehicles, or advanced materials. These are used in a wide range of industries that include automotive, fire prevention, rail, marine, engineering, manufacturing, and even space, to name a few. This means that I’m regularly tasked with producing 3D content that helps to visualise, advertise, explain or compare these products with others. This content can end up being used in all manner of marketing materials that can require a great deal of detail, so texture quality is a really important factor that I must consider. The fact that Substance Painter already partially supported UDIM workflows (via texture sets) and provided endless ways to create and customise realistic / PBR materials made this the obvious choice for me.

Reference Materials

Like most artists, I spend quite a lot of time gathering and organising high-quality reference materials before I begin texturing my 3d models. For this I refer to my vast library of books, online content, Pinterest collections and a fantastic program called PureRef which allows you to create boards to organise your reference imagery for quick access. If you haven’t already heard of this then go check it out as it’s really useful. You can also leave a donation to support the developer, which I’m sure he would appreciate!

The Concepts / Models

I always create my 3d models using real-world scale and a wide variety of different modelling techniques that typically include subD, boolean and procedural. I try not to get to hung up on this and just use go with the method that lends itself best to creating each individual model or part though.

Decaying Tanker Scene – Scene Size: 5M Polygons

I chose this concept because I’ve always been fascinated with grungy, decaying textures, metals, and objects. I also really enjoy manually hand painting materials using my Wacom tablet, so I knew this concept would be ideal for a multi-UDIM workflow and allow me to put these elements to good use. Although the concept might at first seem a little abstract considering the businesses I work with, it’s quite relevant. This is because I can find myself producing comparison videos that show how one material might compare to a competitor’s over a period of time, including how it might age or wear. As I’m always trying to keep things fresh for my clients, this just seemed like it would really stand out and be something they wouldn’t have seen before.

The Juggernaut Heavy Crawler – Model Size: 15M Polygons

I like to think that I had learned a lot about multi-UDIM workflows by the time I had completed texturing all the models from the previous decaying tanker ship project, so I wanted to put this experience to good use on another project ASAP. This time around I wanted to utilise and combine the experience I had gained producing 3d content for heavy machinery industries over the years with some of my other passions in life. Concept artwork, mechs, and robots. I have a vast and ever-growing collection here in my studio, which serves as a great source of inspiration.

The idea for the Juggernaut concept was inspired by gigantic quarry dump trucks produced by Belaz, Caterpillar, and Komatsu. These things are huge — so much so that you really must see them to believe they really exist. I took the basic concept of a dump truck and put a futuristic spin on it, replacing the wheels with giant legs and vastly increasing the volume of the cargo area to benefit from the additional support and balance they provided. Another feature I added was the ability to raise or lower the entire cockpit area to suit different terrains. If you look behind the cockpit you will see a track that makes this possible, which I thought would be a useful feature to include.

Texturing

Decaying Tanker Scene

One of the first things I had to do before commencing with texturing was to decide on the type of environment I might eventually integrate the final assets into, as this would influence the appearance of the materials. I was eventually inspired by some of my reference materials and watching a couple of documentaries of ship-breaking yards, so decided to opt for a dry wasteland/desert environment.

Throughout the course of texturing the tanker ship (this applied equally to the smaller wreck model also) I tried to keep things as physically accurate as possible to ensure the best results once I started adding rust and wear. This involved building the textures up in layers as it would be in the real world, beginning with the raw metal and paint coatings. Substance Painter made this a breeze by providing a number of material presets that were ideally suited for this purpose (especially on Substance Source), which saved me a lot of valuable time not having to reinvent the wheel when it wasn’t required.

Once I was happy with the appearance of the original, undamaged state of the tanker materials, I then moved onto creating wear, ageing, damage, and rust. This was the part I was looking forward to the most, as Substance Painter makes creating these types of effects so much fun and provides endless ways to achieve it. From this point on, it was just a case of building up layer upon layer of rust, dirt, grime, and leaks to accurately match my source reference materials. To achieve this, I used a mix of filters, generators, materials, masks, and hand-painted layers.

Although many of the larger parts of the model were spread across multiple UDIM tiles, I had prepared for this by ensuring my UVs all had the same texel density. This step made it possible to copy most layers from one UDIM tile to another, where I would then make final adjustments to account for seams and borders between different parts of the model. Finally, I made sure that I created a preset of any brushes I used to paint height details so that I could reuse it to create consistent details (such as paneling, etc.) across multiple tiles if or when required.

The Juggernaut Heavy Crawler

Texturing the Juggernaut model was very much about experimentation, much more so than the previous project had been. This time I wanted to see just how far I could push both my hardware and software, just so I knew, should the need ever arise in the future. In total the model required around 106 UDIMs/texture sets. This number varied a little throughout the course of the project as some components were further modified, removed, or added along the way. Luckily, the process of re-importing my model whenever I decided to make changes was simple thanks to Substance Painter’s ability to retain texture information after doing so.

The biggest challenge I faced whilst texturing this model was probably baking the initial maps as I chose to initially bake the whole set using the maximum of 8K resolution, along with 8×8 subsampling anti-aliasing settings. I’m sure I could have achieved more than satisfactory results using much lower settings, but this was all about experimentation remember! I can’t recall exactly how long baking took, but it was definitely a long time which is pretty understandable when you think about it. The important thing is that it successfully managed to do it and this time was put to good use gathering additional reference materials and choosing an appropriate backplate/quarry location for my model.

The process I followed to create the textures was like the one I had followed whilst texturing the tanker ship scene assets. The main difference here was that the painted metal material would be far more important, as it would not feature anywhere near the same level of wear, rust, or damage. This meant I had to spend a little more time searching for and testing different painted steel materials before I eventually found the right one for the job.

Once I had finished tweaking all the settings to get the desired results the next step was copying this material to the majority of all the other UDIM tiles, which Substance Painter managed effortlessly. Once again, ensuring that you have a relatively similar UV texel density makes a big difference and will help to ensure consistent results across different tiles. In addition to the painted metal material, there were also several other materials required for various other areas of the model. This included glass, decals, and raw metal, which meant that I had to change my shader from PBR-metal-rough to pbr-metal-rough-with-alpha-blending shader. I also used several custom brushes and alphas to paint additional height details that included vents, panels, and welds. I then used applied anchor points to these layers to allow the height information to be used by materials and generators.

The next stage involved adding dirt, grunge, and grime. For this I used several generators, masks, and alphas, which I manually tweaked for every single texture set to ensure completely unique results. I then used a few different brushes with varying opacity, hardness and colour values to create dust build up throughout the model. Throughout this process, I frequently went back to my reference photographs to check where this would occur on quarry vehicles in the real world.

The final scene utilises smart materials, generators, anchor points, alphas, filters, masks, hand-painted, and height details. Almost all the texture sets also include more than 15 layers, and most of those use at least one generator or filter. Additionally, the actual Substance Painter file is 138GB in size. Despite these factors, Substance Painter managed to stay responsive throughout the process, and I think that’s damn impressive.

Conclusion

I’m fortunate enough to be in a position where I can pick and choose the tools and techniques I use to create 3D content, but I still make time for regular experimentation. This allows me to brush up on existing skills, learn new ones or just have some fun. Both these projects were a combination of all these elements, a little experimentation and my own form of R&D. They also gave me the chance to test how much data Substance Painter can handle too, and it was a lot! If you aren’t already familiar with multi-UDIM texturing workflows, then I would recommend looking into it. Although support is currently limited in Substance Painter, it’s improving all the time and won’t be long before you can finally paint across multiple tiles.