Substance Painter full UDIM support soon to be within our grasp

I think most people in the DAZ community working with Substance Painter will be aware of its lack of support for painting across UDIM tiles (or patches as they are known in Mari). The last few generations of Genesis figures are mapped with UDIM patches (hence the suffix 1001, 1002, etc. we often see in skin texture file names) and as such it is not currently possible in Substance Painter to paint, for example, over the boundaries between torso and limbs, or head.

This is set to change according to the announcement on the livestream earlier this evening. The function has been in private beta for some time, but now the beta is going public in January 2020. Unfortunately the places for access to the beta are limited to "a few hundred people" at the moment, and given there were 1500 people on the livestream, those places will have already gone. However, Allegorithmic say that more places will be opened over time. It still may be  worth registering at https://www.substance3d.com/substance-painter-beta.

There were other interesting announcements, including the native support of the PS abr brush format (not surprising since they are now owned by Adobe) and the inclusion of SketchFab model assets in Substance Source.

If you are interested in more details the livestream is recorded here:

 

 

Comments

  • joseftjoseft Posts: 310
    edited December 2019

    Finally

    Cannot believe it took this long to implement it. They seamed (pun intended) to treat it as a low priority for some reason. I saw feature request threads with loads of people chiming in dating back 6 years ago asking for this

    Still, if the public beta is in january, i'd say release wont be until march at the earliest, probably later 

    edit - maybe now that Adobe is in charge, Adobe realised it was a mistake not already having this feature and pushed it up the priority list

    Post edited by joseft on
  • lilweeplilweep Posts: 2,746
    Someone please ELI5 difference between UDIM patches,UV islands, and Material Zones/texture sets.
  • Richard HaseltineRichard Haseltine Posts: 108,072
    edited December 2019
    lilweep said:
    Someone please ELI5 difference between UDIM patches,UV islands, and Material Zones/texture sets.
    • UDIM patches - an area of the UVs shifted a whole number of units along the U axis (usually, though it dosn't have to be U), allowing for separation of otherwise ovelapping aeas
    • UV Island - a connected set of polygons on the UV map
    • Material Zone/Surface - a group of polygons on the model, each of which can have its own properties
    • Texture - an image file applied to a surface
    Post edited by Richard Haseltine on
  • lilweeplilweep Posts: 2,746

    so a UDIM patch is a 'UV tile'?

    Doesnt Substance Painter use the terminoloy of 'Texture Sets' for this?

  • The desired feature is ability to paint across from one UDIM to another, or more geenrally to paint across more than one Texture Set at a time.

  • lilweep said:

    so a UDIM patch is a 'UV tile'?

    Doesnt Substance Painter use the terminoloy of 'Texture Sets' for this?

    A Texture Set may not necessarily be a UDIM tile. Texture Sets are created on the basis of the material zones defined in the the object. For example, if you export a OBJ or FBX from a DAZ model with default options, each material zone will be created as a separate texture set, even if they are in the basic 0 to 1 UV space (which is most often the case other than with those Genesis figures as UDIMs are not widely used for DAZ props and such as far as I know). Even if your UV shells (material zones) are in the same 0-1 UV space you can't paint across them if they are separate Texture Sets. It's generally necessary to redefine (i.e. collapse or simplify) material zones if you are texturing existing DAZ models as they often have far to many to be practical for texturing purposes. If creating your own assets for DAZ you would begin with the fewest material zones possible, and then create as many as you feel necessary later, either in Studio or in your modelling application. Substance Painter's workflow actually requires a minimum of material zones (unless the asset is a group of several separate objects or objects that have UDIM tiles).

    If you collapsed all the material zones from a G8 figure to just one when exporting, I don't know whether or not that would result in a single Texture Set, despite its use of UDIM tiles—I expect it might, but it's a kind of pointless excercise so I haven't tested it.

    This article from The Foundry (creators of Mari) explains UDIMs pretty well, I think.

  • lilweep said:
    Someone please ELI5 difference between UDIM patches,UV islands, and Material Zones/texture sets.

    The basic UV space (used by probably most models) is called 0-1. It's a single square equivalent to the textures you see in the Studio surfaces tab. In this basic setup you have to UV map the model and fit all the parts into that single square. Islands are the parts that you have split the surfaces up into. It's generally necessary to split the surface of your model into these parts (or islands) in order to flatten out the mesh efficiently and to make it easier to texture.

    Material zones (in DAZ Studio, for example) enable you to apply different shader presets to different islands within the same 0-1 UV space (for example, some islands may be glass surfaces, some may be metal, others may be cloth, so you will require entirely different shader presets for each of those islands), or to assign entirely different texture maps and shaders to different UDIM tiles, as is the case with current Genesis figures, or again (as with the case of older DAZ figures), to assign texture maps to overlapping islands in the 0-1 space (UDIM does away with the need to overlap UV islands on your model by shifting them to the other squares (tiles or patches) in the larger grid, as shown in the article I linked above.

    The term "texture set" applies to Substance Painter. It's more or less the same as a material zone as I defined above.

  • joseft said:

    Finally

    Cannot believe it took this long to implement it. They seamed (pun intended) to treat it as a low priority for some reason. I saw feature request threads with loads of people chiming in dating back 6 years ago asking for this

    Still, if the public beta is in january, i'd say release wont be until march at the earliest, probably later 

    edit - maybe now that Adobe is in charge, Adobe realised it was a mistake not already having this feature and pushed it up the priority list

    Yes, it became more or less a running joke in comments to Allegorythmic posts and videos. It was actually a very complex undertaking as (or so one of the devs said) it affects the core of the way that Painter works. I'm sure they wanted to implement this as much as Adobe may have: adding the feature, it has been said, would make Painter a "Mari killer". Mari is a great application, but it is not easy to use, requiring a lot of training, and worst of all (at least in from my point of view) uses an inordinate amount of computer and GPU resources.

  • lilweeplilweep Posts: 2,746
    lilweep said:

    so a UDIM patch is a 'UV tile'?

    Doesnt Substance Painter use the terminoloy of 'Texture Sets' for this?

    A Texture Set may not necessarily be a UDIM tile. Texture Sets are created on the basis of the material zones defined in the the object. For example, if you export a OBJ or FBX from a DAZ model with default options, each material zone will be created as a separate texture set, even if they are in the basic 0 to 1 UV space (which is most often the case other than with those Genesis figures as UDIMs are not widely used for DAZ props and such as far as I know). Even if your UV shells (material zones) are in the same 0-1 UV space you can't paint across them if they are separate Texture Sets. It's generally necessary to redefine (i.e. collapse or simplify) material zones if you are texturing existing DAZ models as they often have far to many to be practical for texturing purposes. If creating your own assets for DAZ you would begin with the fewest material zones possible, and then create as many as you feel necessary later, either in Studio or in your modelling application. Substance Painter's workflow actually requires a minimum of material zones (unless the asset is a group of several separate objects or objects that have UDIM tiles).

    If you collapsed all the material zones from a G8 figure to just one when exporting, I don't know whether or not that would result in a single Texture Set, despite its use of UDIM tiles—I expect it might, but it's a kind of pointless excercise so I haven't tested it.

    This article from The Foundry (creators of Mari) explains UDIMs pretty well, I think.

    i guess im starting to wrap my head around this

  • rames44rames44 Posts: 336

    I've pretty much grokked the whole UDIM bit, but a few implementation questions.

    How does a vertex in a mesh get mapped to the correct UDIM tile? Does it get assigned a UV values outside the 0.0-1.0 range? Meaning that the "integer portions" of the UV values identify the tile and the "decimal portions" the position within the tile? Or is there some other mapping elsewhere that assigns vertices to tiles?

    How do models (or Daz in particular) handle mesh vertices that are on seams where the two sides of the seams are in different tiles? Seems the vertex would need multiple UV values...

  • rames44 said:

    I've pretty much grokked the whole UDIM bit, but a few implementation questions.

    How does a vertex in a mesh get mapped to the correct UDIM tile? Does it get assigned a UV values outside the 0.0-1.0 range? Meaning that the "integer portions" of the UV values identify the tile and the "decimal portions" the position within the tile? Or is there some other mapping elsewhere that assigns vertices to tiles?

    The integer part identifies the tile

    rames44 said:

    How do models (or Daz in particular) handle mesh vertices that are on seams where the two sides of the seams are in different tiles? Seems the vertex would need multiple UV values...

    That is always true, UVs for vertex can potentially be different for every polygon to which it belongs.

  • lilweeplilweep Posts: 2,746

    Beta seems to be starting. Received this email a few hours ago.

    Capture33.PNG
    1651 x 1262 - 205K
  • Oso3DOso3D Posts: 15,085

    Been waiting for this functionality for... years.

    So exciting!

Sign In or Register to comment.