Home Adobe Substance
The BRAWL² Tournament Challenge has been announced!

It starts May 12, and ends Sept 12. Let's see what you got!

https://polycount.com/discussion/237047/the-brawl²-tournament

Efficient Workflow for Clothing Variations in Game Asset Creation?

Hi everyone,

I’m looking for advice on creating and managing clothing variations for a game character. I’ve modeled an NPC in Blender and textured it with Substance Painter.

To implement the clothing, I created separate meshes for each piece and assigned a material to them. My current approach is to toggle the clothing meshes on and off in the game engine (I’m using Godot).

Now I’m stuck on how to create multiple variations for each clothing item. For example, if I have a T-shirt that comes in 10 different designs, I don’t want to create 10 separate meshes for it. As far as I know, Substance Painter doesn’t directly support creating multiple texture variations within the same project.

What’s the common workflow for this type of problem? Is there a approach for efficiently managing variations? I’d really appreciate your tips or insights!

Replies

  • Fabi_G
    Offline / Send Message
    Fabi_G veteran polycounter
    Hi! Do you have images of what you currently have and want to achieve?

    A quick option would be using variants of a material with different textures in engine. Or an atlas containing multiple designs, used with a shader allowing to flip through variants.

    If the designs allow for it, could get even more sub-variants by coloring using masks, perhaps gradient mapping.
  • Mauschelbär
    First of all: Thanks for the response!

    My focus is less on finding a solution within the engine and more on tackling the task of texturing first. As you can see in the image (and please keep in mind that I’m not a Blender pro ;-) ), there is a separate mesh for each piece of clothing. In the screenshot, the character currently has all clothing items displayed simultaneously. Each clothing item has its own material. In Substance, I now want to create multiple variants of, for example, "tops-1".
    However, Substance only allows me to paint one material, and there’s no option like "New Variation". The goal is to export multiple texture sets per material from Substance (e.g., top-1_albedo_var_04). Is there a way to achieve this, or should I reconsider the entire concept fundamentally?



  • Fabi_G
    Offline / Send Message
    Fabi_G veteran polycounter
    Hi! While I haven't dealt with this exact situation, when I worked on texture variants of plants, I kept it as dumb as possible - one file per variant (since I wasn't the only person working on the assets, having easy to understand files was a consideration too). If the variation affects only Color maps, I would consider authoring them separately in an image editor and have one Painter file to export the base PBR maps from.

    Painter functionality that might be useful to find a solution that works for you:
    - Smart Materials to move layer stacks between files
    - Layer instancing to sync certain aspects between texture sets (if you decide to have all shirts in one file)
    - User channels to export additional maps (pipe different color variants into different user channel for export?)

    That's what currently comes to mind. Much success with the project!
  • Mauschelbär
    Hey Fabi_G, thank you for your answer!

    So it really seems as if I have to approach this with workarounds, i.e. one file and many individual exports.
    That's really disappointing, because I would like to export many PBRs automatically and don't want to show and hide layer stacks every time and then export them.
    But never mind. Thank you also for your tips on smart materials and layer instancing.

    If anyone else comes up with something better, please let me know :-)
  • elios
    Offline / Send Message
    elios polycounter lvl 2
    I am not entirely sure I get your issue, but you can always create a 3d scene with copies of your main clothing mesh and assign each a unique material. Each unique material id will become a separate texture set with its own set of layers and maps inside Painter, and it will all be exported separately from Painter as well (Project Name + TextureSet01, 02 etc). This works in case you only have one material per your clothing mesh. This way you end up with one painter project which contains an X amount of separate materials for what will be the same mesh in the end. 
    The goal is to export multiple texture sets per material from Substance (e.g., top-1_albedo_var_04). Is there a way to achieve this, or should I reconsider the entire concept fundamentally?
    I guess the question is, why do you need multiple texture sets per material specifically? Does it tie into some engine or blender implementation? Is it simply a workflow preference? Unless you have some sort of automated system into which it all fits, there is no difference between what you say you want to have and having a scene with copies of the same mesh which all have their own material id, from a workflow perspective. You can place your entire clothing set in the 3d scene and then spread your variant copies out so that they do not overlap with your main mesh, then make sure your copies have their materials named similar to how you want `top-1_var_04` and export it all to painter, resulting in unique texture sets for each clothing variant contained within the same file. You can also manipulate the way Painter names its textures via wildcards and whatnot, in case you really need to declare the variant number after the texture map type and not before (top-1_albedo_var_04 and not top-1_var_04_albedo). In the end if you name your materials properly you should get texturemaps which are named in the way you expect them to be, regardless of how they were setup in Painter. 
Sign In or Register to comment.