Painter Workflow

From working in the video games industry and on environments I’m using as few texture sets as possible for performance reasons, however, the XTAON model came with 6 sets. I wanted to maintain a high enough resolution for the close-ups I had in mind and I didn’t want to resort to shader detailing techniques as the competition is judged predominantly based on your work in Painter. For that reason, I needed to keep each of these 6 texture sets. Having these 6 texture sets to manage was a new challenge for me as I like to work in a way where I have simple single points of control for key aspects of my artwork. This is why I always use Master Materials and parenting in Unreal or instancing in Painter and 3ds Max. If I decide to change the base coat material for the car, for example, I don’t want to have to juggle 4 other sets and change it in each and have them out of sync. I want to change it in one place and have it update the whole car.

I needed about 5 days of texturing the car to realize that my organization had gotten away from me and I was drowning in confusing and out of sync layers across multiple texture sets. I stopped, did a little research and then threw away my scene. Why? I came across this great article on Substance Painter organization by Manuel Armonio.

He makes a couple of really great points – read his article as it explains in more detail. Use groups instead of layers as the equivalent of materials, for example, a group called BaseCarMetal. This allows you to build the detail into the “material” as a group in a much more controlled way than relying on a single fill layer. Here is a key one: instantiate these groups across your texture sets, do not instantiate a single fill layer from within the group. This was one of the mistakes I was making. By Instantiating the group it allows you to keep adding lots of nice detail in your parent texture set and see the result update across the child instances in other sets. Just instantiating a single layer is much more limited in its use and you end up needing to create and maintain a lot more individual instances.

When Painter creates a new instance in another texture set it just puts it on top of the stack of the child texture sets, so you can end up with strange results if your layer hierarchy is out of sync across texture sets. The less individual instances you have to manage the better, and instancing groups helps with this. With Midnight, I probably had 5 or 6 instanced groups across the whole model.

Unfortunately, one of the current limitations of instances in Substance Painter is that you can only hand paint on the Master Instance. However, a trick if you just need to hand-paint a mask on the child instance is to drop the child instance into a new Group on the Texture Set in question. You can now happily paint and mask this new group – or you can add Generators and the usual great Substance Painter masking features and it will mask the child instance. The child instance will still inherit all of the changes from the master. Once I had started again with these organizational best practices in mind it all went a lot smoother and I quickly caught up to where I had left off.